queryselectorall childnodes array javascript dom collections nodelist

javascript - childnodes - queryselectorall



¿Cómo distinguir entre colecciones NodeList en vivo y no vivas? (2)

Tanto document.getElementsByTagName (''div'') como document.querySelectorAll (''div'') devuelven la colección NodeList. La única diferencia es que el primer método devuelve live-collection y el segundo, uno estático.

La pregunta es: ¿hay alguna oportunidad de distinguir un objeto de otro solo mediante la inspección de estos objetos (es decir, sin intentar agregar / eliminar algunos elementos para probar la "vida")?

gracias por adelantado


La interfaz NodeList es NodeList de su estado muerto o en vivo.

interface NodeList { Node item(in unsigned long index); readonly attribute unsigned long length; };

Solo contiene una length propiedad y un item método item así que me temo que actualmente no es posible determinar si un objeto está activo sin manipular el DOM y ver los efectos.


a=document.querySelectorAll(''a''); b=document.getElementsByTagName(''a''); a.toString() == "[object NodeList]" b.toString() == "[object HTMLCollection]"

(en FF / Chrome)