Polymer 如何递归导航accross shadow DOM

Polymer 如何递归导航accross shadow DOM,polymer,Polymer,我想验证自定义聚合物元素。为此,我希望在javascript中访问所有嵌套的聚合元素,看看它们是否有效。 我找不到一个简单的方法来做这件事。 this.querySelectorAll找不到嵌套在其他聚合元素中的输入。似乎我不能在这些选择器中使用“/deep/”。 有没有一个简单的方法可以做到这一点?或者我必须使用递归javascript方法在所有具有阴影根的元素中调用querySelectorAll吗??(我想表演会变得很难看……) 谢谢你的帮助。 如果没有快速解决方案,我可能会尝试另一种方法

我想验证自定义聚合物元素。为此,我希望在javascript中访问所有嵌套的聚合元素,看看它们是否有效。 我找不到一个简单的方法来做这件事。 this.querySelectorAll找不到嵌套在其他聚合元素中的输入。似乎我不能在这些选择器中使用“/deep/”。 有没有一个简单的方法可以做到这一点?或者我必须使用递归javascript方法在所有具有阴影根的元素中调用querySelectorAll吗??(我想表演会变得很难看……)

谢谢你的帮助。
如果没有快速解决方案,我可能会尝试另一种方法(将输入注册到家长)

答案:

element.querySelectorAll()
在使用
/deep/
时会找到一些元素,但是,它仅限于此(1个阴影dom级别)。这确实需要从每个
ElementNode
进行递归调用

注意:

这种行为在很大程度上违背了HTML的核心原则(即,无论内容的格式有多好,网页都能正常工作)。换句话说,所有元素都是有效的,无论它们的位置如何


例如,我创建了一个自定义元素,它只渲染特定的子元素并隐藏所有其他元素。这仍然符合上述原则,因为元素的基本呈现由元素/代理控制,但允许开发人员/设计师在标准呈现之外自定义其呈现。

谢谢您的回答您是对的,这通常不是最佳解决方案,但是,当您知道元素中的元素类型时,它会很有用