2015-10-15 129 views

回答

1

除了Chrome,Opera和Andriod(http://caniuse.com/#feat=shadowdom)之外,任何浏览器都不支持Shadow DOM和所有连接的选择器。这就是为什么在Polymer 1中我们有黑幕的DOM。

现在来自Polymer的人也考虑了阴影DOM的好处(没有设计出血),所以他们想出了阴暗的DOM。并且这对于:

  1. 如果将CSS放入模板 - 特别是CSS选择器 - 它会被重写。这就是为什么像:host,/deep/::shadow的工作。
  2. 如果你在JS中使用你的选择器,就像你一样,你不必费心使用这些特殊的选择器。只需看看DOM,然后去做就可以了。因此,例如document.querySelectorAll('paper-input')可以让您获得所有paper-input元素,而不管它们位于DOM中的哪个位置。