shadow Dom(shadowRoot) 访问
示例
gtx.shadowRoot.getElementById("translation")
gtx为host对象
起因
抓去chorome谷歌翻译插架的内容。有信息的内容div id是"bubble-content"
var contend=document.getElementById("bubble-content")
contend是null ? ! !怎么会是null?我又没拼错。
这不科学,然后发现这个div 外层有个#shadow-root (open)
没见过的东西
事不为常便有妖,问题8成就在这里
查了相关资料后确定
简而言之shadow-root 包裹下的对象,不在全局的dom树中,因此getElementById 等方法,获取不到包裹中的对象。
该功能的目的就是,独立出一块渲染块,不受外层样式的影响,内层的样式也不影响外层的显示。
访问方式为
1得到shadow-root 外层的根node 这个node是在全局dom树中的。
var gtx=document.getElementById("gtx-host")
2取得gtx的shadow块
gtx.shadowRoot
3之后再怎么操作就随意了
比如取shadow块中的节点。
var truecontent=gtx.shadowRoot.getElementById("translation");
后来想想,其实以前隐约在哪见到过这功能,但因为一真没有用,淡忘了
转载于:https://www.cnblogs.com/zihunqingxin/p/5040504.html
shadow Dom(shadowRoot) 访问相关推荐
- 理解Shadow DOM
1. 什么是Shadow DOM? Shadow DOM 如果按照英文翻译的话可以理解为 影子DOM, 何为影子DOM呢?可以理解为一般情况下使用肉眼看不到的DOM结构,那如果一般情况下看不到的话,那 ...
- Shadow DOM及自定义标签
参考链接:点我 一.什么是Shadow DOM Shadow DOM,直接翻译的话就是 影子 DOM,可以理解为潜藏在 DOM 结构中并且我们无法直接控制操纵的 DOM 结构.类似于下面这种结构 Sh ...
- 纯CSS菜单样式,及其Shadow DOM,Json接口 实现
先声明,要看懂这篇博客要求你具备少量基础CSS知识, 当然如果你只是要用的话就随便了,不用了解任何知识 先放一张效果图 Part 1:纯CSS菜单样式 先放样式代码 1 <sty ...
- html页面和Chrome开发者工具elements界面不一致的一个可能原因:没有在Chrome开发者工具里打开对Shadow DOM显示的支持
一个例子: 虽然UI上input field里显示的是Jerry,但是Chrome开发者工具里面并没有显示出来. 注意上图最下方,显示的input后面有#shadow-root.div. 打开sett ...
- [译] 用 Shadow DOM v1 和 Custom Elements v1 实现一个原生 Web Component
原文地址:Make a Native Web Component with Custom Elements v1 and Shadow DOM v1 原文作者:Pearl Latteier 译文出自: ...
- [html] 说说你对影子(Shadow)DOM的了解
[html] 说说你对影子(Shadow)DOM的了解 web component的API,用来给组件创建子DOM树,就像楼上说的,不受外部style影响,外部通过选择器查询也不会查到里面来.它有两种 ...
- Shadow DOM的理解
Shadow DOM的理解 Shadow DOM是HTML的一个规范,其允许在文档document渲染时插入一颗DOM元素子树,但是这棵子树不在主DOM树中,Shadow DOM如果按照英文翻译的话可 ...
- Shadow DOM系列1-简介
为什么80%的码农都做不了架构师?>>> 英文链接:Shadow DOM: Introduction, 26 AUGUST 2013 on Web Components, Sh ...
- Chrome 53 支持 Shadow DOM 等规范
上周发布的 Chrome 53 带来了一系列实验性规范的支持,如Shadow DOM,它为复杂网页的开发提供便利.同时,针对移动平台,Chrome 53也提供了PaymentRequest接口.自定义 ...
- Chrome 53 支持Shadow DOM、PaymentRequest等规范
上周发布的 Chrome 53 带来了一系列实验性规范的支持,如Shadow DOM,它为复杂网页的开发提供便利.同时,针对移动平台,Chrome 53也提供了PaymentRequest接口.自定义 ...
最新文章
- 新产品发布与A轮2000万美元 双喜临门后GrowingIO还要做什么
- mySQL:两表更新(用一个表更新另一个表)的SQL语句
- Mybatis的prefix和suffix使用
- 【Matlab】矩阵三角分解法求解方程组
- DB排行榜更新,.NET Core+MySQL成主流!
- C# 弹出输入框取值
- 结对-贪吃蛇游戏-需求分析
- Fix Bug的五个阶段
- 2021全国研究生数学建模竞赛A题思路
- 网评计算机学校好,网评十大最痛苦专业:计算机、数学上榜
- 星际争霸2Beta版单机使用方法
- 电脑小知识:如何选择合适的内存条?如何查看自己电脑内存条的内存大小和主频呢?
- 企鹅号发布腾讯创作者社群计划 助力精品打造行业升级
- android关于IC卡读写及加密解密
- 【转】自己开发的iphone app打包为IPA包的方法
- UDS之浅谈11服务
- scrapy爬取博客文章
- Python 安装包管理工具 pip
- 近视手术:全飞秒 vs 半飞秒
- html中有序列表的type,html有序列表的类型type