【发布时间】:2016-01-13 22:20:50
【问题描述】:
我在 Polymer 上使用纸张输入,在 chrome 中我可以在 shadow DOM 中找到元素
var input = this.$.input.querySelector(':host /deep/ input')
但这在 Safari 中不起作用。我认为“/deep/”有问题。 如何在 Safari 中找到元素?
【问题讨论】:
标签: javascript polymer web-component
我在 Polymer 上使用纸张输入,在 chrome 中我可以在 shadow DOM 中找到元素
var input = this.$.input.querySelector(':host /deep/ input')
但这在 Safari 中不起作用。我认为“/deep/”有问题。 如何在 Safari 中找到元素?
【问题讨论】:
标签: javascript polymer web-component
除了 Chrome、Opera 和 Andriod (http://caniuse.com/#feat=shadowdom) 之外的任何浏览器都不支持 Shadow DOM 和所有连接的选择器。这就是为什么在 Polymer 1 中我们有 shady DOM。
现在 Polymer 的人也想到了 shadow DOM 的好处(没有设计流血),所以他们想出了 shady DOM。这必须是双方:
:host、/deep/ 或 ::shadow 这样的东西会起作用的原因。document.querySelectorAll('paper-input') 获取所有 paper-input 元素,无论它们位于 DOM 中的哪个位置。【讨论】: