W jakich przypadkach element.parentElement lub element.parentNode będzie miał wartość null w HTML DOM?
Utworzyłem niestandardowy element przy użyciu LitHTML i mojej własnej biblioteki blokowej do zarządzania stanem. Teraz natknąłem się na przypadek, w którym element, choć dość wewnątrz innych elementów, zwraca wartość null dla parentNode i parentElement. Nie wiem, dlaczego?

Jakie są przypadki, w których parentNode i parentElement mają wartość null?
Odpowiedzi
Element c
zwrócony przez zapytanie ma no parentElement
, ale ma element, parentNode
który jest shadowRoot
.
ShadowRoots nie mają parentNode
właściwości (dlatego c.parentNode.parentNode
wywołanie zwraca null
), ale możesz zwrócić element, do którego shadowRoot
jest dołączony, uzyskując dostęp do host
właściwości shadowRoots ( c.parentNode.host
).
Zobacz dokumentację: ShadowRoot
Lub podobne pytanie: Pobierz element hosta głównego w tle