I have created custom element using LitHTML and my own bloc based library for state management. Now I have stumble upon a case where in a element though pretty inside some other elements, returns null for parentNode and parentElement. I can't figure out why?
What are cases in which parentNode and parentElement be null ?
The element
c
returned by your query has noparentElement
, but it does have aparentNode
which is ashadowRoot
.ShadowRoots don't have a
parentNode
property (which is why yourc.parentNode.parentNode
call returnsnull
) but you can return the element that theshadowRoot
is attached by accessing the shadowRootshost
property (c.parentNode.host
).See the docs: ShadowRoot
Or related question: Get shadow root host element