【发布时间】:2021-03-11 00:20:34
【问题描述】:
我使用 LitHTML 和我自己的基于 bloc 的库创建了自定义元素,用于状态管理。 现在我偶然发现一个元素虽然在其他一些元素中很漂亮,但对于 parentNode 和 parentElement 返回 null。 我不知道为什么?
parentNode 和 parentElement 为 null 的情况有哪些?
【问题讨论】:
-
c没有 parentElement,但它确实有一个 parentNode,它是一个 shadowRoot。 shadowRoots 没有 parentNode 属性 (c.parentNode.parentNode),但要访问 shadowRoot 附加到的元素,您可以使用.host(c.parentNode.host)。见:Get shadow root host element,或ShadowRoot -
@pilchard 是的,你是对的,请将其写为答案,我会接受它作为问题的解决方案。
-
@Danny'365CSI'Engelman getRootNode 在普通节点上将直接获取一个文档节点。作为逻辑的一部分,我遍历每个节点并检查每个节点的属性。
-
酷,请添加您的代码,以便其他人学习
标签: javascript html web-component lit-html