HTML DOMでelement.parentElementまたはelement.parentNodeがnullになるのはどの場合ですか?

Nov 28 2020

LitHTMLと状態管理用の独自のブロックベースのライブラリを使用してカスタム要素を作成しました。今、私は、ある要素の中で、他のいくつかの要素のかなり内側にあるにもかかわらず、parentNodeとparentElementに対してnullを返す場合に遭遇しました。理由がわからないのですか?

parentNodeとparentElementがnullになる場合は何ですか?

回答

2 pilchard Nov 29 2020 at 01:30

cクエリによって返される要素にはparentElementがありませんが、parentNodeがありshadowRootます。

ShadowRootsにはparentNodeプロパティがありません(これがc.parentNode.parentNode呼び出しが戻る理由nullです)がshadowRoot、shadowRootshostプロパティ(c.parentNode.host)にアクセスすることで、アタッチされている要素を返すことができます。

ドキュメントを参照してください:ShadowRoot

または関連する質問:シャドウルートホスト要素を取得する