¿En qué casos element.parentElement o element.parentNode serán nulos en un DOM HTML?
He creado un elemento personalizado utilizando LitHTML y mi propia biblioteca basada en bloques para la gestión del estado. Ahora me he topado con un caso en el que en un elemento, aunque bastante dentro de otros elementos, devuelve nulo para parentNode y parentElement. ¿No puedo entender por qué?

¿Cuáles son los casos en los que parentNode y parentElement son nulos?
Respuestas
El elemento c
devuelto por su consulta no tiene parentElement
, pero tiene un parentNode
que es un shadowRoot
.
ShadowRoots no tiene una parentNode
propiedad (por lo que su c.parentNode.parentNode
llamada regresa null
) pero puede devolver el elemento shadowRoot
adjunto accediendo a la host
propiedad shadowRoots ( c.parentNode.host
).
Ver los documentos: ShadowRoot
O pregunta relacionada: Obtener el elemento de host raíz de la sombra