【发布时间】:2016-08-07 23:43:30
【问题描述】:
阅读有关 Shadow DOM 的文章和教程时,我遇到了一个让我有点困惑的描述:
“Shadow DOM 是指浏览器能够将 DOM 元素的子树包含在文档的呈现中,但不能包含在主文档 DOM 树中。”
所以影子树不是 DOM 树的一部分?但是浏览器仍然会看到它并呈现它的内容吗?
【问题讨论】:
-
这个想法是浏览器正在呈现的树隐藏在自定义元素后面。一个很好的例子是视频标签,许多控件可以用 div 和按钮来实现,但作为用户,你无权访问这些内部结构。内部表示不可用于自定义组件外部的代码,除非您通过影子 DOM 或自定义方法公开它。见html5rocks.com/en/tutorials/webcomponents/shadowdom
-
是的,影子 DOM 并不是真正的树的一部分,从调用者的代码角度来看,它隐藏在实现背后,这就是重点
标签: javascript dom shadow-dom