示例

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) 访问相关推荐

  1. 理解Shadow DOM

    1. 什么是Shadow DOM? Shadow DOM 如果按照英文翻译的话可以理解为 影子DOM, 何为影子DOM呢?可以理解为一般情况下使用肉眼看不到的DOM结构,那如果一般情况下看不到的话,那 ...

  2. Shadow DOM及自定义标签

    参考链接:点我 一.什么是Shadow DOM Shadow DOM,直接翻译的话就是 影子 DOM,可以理解为潜藏在 DOM 结构中并且我们无法直接控制操纵的 DOM 结构.类似于下面这种结构 Sh ...

  3. 纯CSS菜单样式,及其Shadow DOM,Json接口 实现

    先声明,要看懂这篇博客要求你具备少量基础CSS知识, 当然如果你只是要用的话就随便了,不用了解任何知识 先放一张效果图         Part 1:纯CSS菜单样式 先放样式代码 1 <sty ...

  4. html页面和Chrome开发者工具elements界面不一致的一个可能原因:没有在Chrome开发者工具里打开对Shadow DOM显示的支持

    一个例子: 虽然UI上input field里显示的是Jerry,但是Chrome开发者工具里面并没有显示出来. 注意上图最下方,显示的input后面有#shadow-root.div. 打开sett ...

  5. [译] 用 Shadow DOM v1 和 Custom Elements v1 实现一个原生 Web Component

    原文地址:Make a Native Web Component with Custom Elements v1 and Shadow DOM v1 原文作者:Pearl Latteier 译文出自: ...

  6. [html] 说说你对影子(Shadow)DOM的了解

    [html] 说说你对影子(Shadow)DOM的了解 web component的API,用来给组件创建子DOM树,就像楼上说的,不受外部style影响,外部通过选择器查询也不会查到里面来.它有两种 ...

  7. Shadow DOM的理解

    Shadow DOM的理解 Shadow DOM是HTML的一个规范,其允许在文档document渲染时插入一颗DOM元素子树,但是这棵子树不在主DOM树中,Shadow DOM如果按照英文翻译的话可 ...

  8. Shadow DOM系列1-简介

    为什么80%的码农都做不了架构师?>>>    英文链接:Shadow DOM: Introduction, 26 AUGUST 2013 on Web Components, Sh ...

  9. Chrome 53 支持 Shadow DOM 等规范

    上周发布的 Chrome 53 带来了一系列实验性规范的支持,如Shadow DOM,它为复杂网页的开发提供便利.同时,针对移动平台,Chrome 53也提供了PaymentRequest接口.自定义 ...

  10. Chrome 53 支持Shadow DOM、PaymentRequest等规范

    上周发布的 Chrome 53 带来了一系列实验性规范的支持,如Shadow DOM,它为复杂网页的开发提供便利.同时,针对移动平台,Chrome 53也提供了PaymentRequest接口.自定义 ...

最新文章

  1. 新产品发布与A轮2000万美元 双喜临门后GrowingIO还要做什么
  2. mySQL:两表更新(用一个表更新另一个表)的SQL语句
  3. Mybatis的prefix和suffix使用
  4. 【Matlab】矩阵三角分解法求解方程组
  5. DB排行榜更新,.NET Core+MySQL成主流!
  6. C# 弹出输入框取值
  7. 结对-贪吃蛇游戏-需求分析
  8. Fix Bug的五个阶段
  9. 2021全国研究生数学建模竞赛A题思路
  10. 网评计算机学校好,网评十大最痛苦专业:计算机、数学上榜
  11. 星际争霸2Beta版单机使用方法
  12. 电脑小知识:如何选择合适的内存条?如何查看自己电脑内存条的内存大小和主频呢?
  13. 企鹅号发布腾讯创作者社群计划 助力精品打造行业升级
  14. android关于IC卡读写及加密解密
  15. 【转】自己开发的iphone app打包为IPA包的方法
  16. UDS之浅谈11服务
  17. scrapy爬取博客文章
  18. Python 安装包管理工具 pip
  19. 近视手术:全飞秒 vs 半飞秒
  20. html中有序列表的type,html有序列表的类型type

热门文章

  1. 基于知识引入的情感分析
  2. python科学计算之Pandas使用(二)
  3. 论文赏析[NAACL19]一个更好更快更强的序列标注成分句法分析器
  4. 论文赏析[COLING18]两种成分句法分析的局部特征模型
  5. 2.1 API : LogisticRegression
  6. 内置函数——find
  7. matplotlib常见问题解决方法
  8. 达观杯文本智能处理(6)
  9. 为什么选择Netty作为基础通信框架?
  10. 软件测试的金字塔体系--从1个中心到5个要素