2015-10-15 128 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中的哪個位置。