W jakich przypadkach element.parentElement lub element.parentNode będzie miał wartość null w HTML DOM?

Nov 28 2020

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

2 pilchard Nov 29 2020 at 01:30

Element czwrócony przez zapytanie ma no parentElement, ale ma element, parentNodektóry jest shadowRoot.

ShadowRoots nie mają parentNodewłaściwości (dlatego c.parentNode.parentNodewywołanie zwraca null), ale możesz zwrócić element, do którego shadowRootjest dołączony, uzyskując dostęp do hostwłaściwości shadowRoots ( c.parentNode.host).

Zobacz dokumentację: ShadowRoot

Lub podobne pytanie: Pobierz element hosta głównego w tle