2009-11-21 9 views
11

Estoy implementando todas las funciones E4X opcionales descritas en el Anexo A de ECMA-357 y tengo problemas para implementar domNodeList (§A.1.2 y §A.2.2). ¿Cómo crearía mi propio objeto NodeList?Crear un DOM NodeList

Incluso si creo un nuevo XMLDocument y anexo cada representación de domNode() de los nodos en una lista XML, todavía no veo cómo podría crear una NodeList que contenga todo ya que generalmente se excluyen los comentarios y las instrucciones de procesamiento.

+0

¿Cuál es el contexto de esta pregunta? ¿Que estas escribiendo? –

+2

Ryan, ¿no ves domNodeList? También declaro claramente dónde está definido en ECMA-357. –

+0

¿Por qué es este CW? –

Respuesta

16

Descubrí que podía usar el atributo childNodes de un fragmento de documento para crear una NodeList. Esta fue mi solución:

XML.prototype.function::domNodeList = function() { 
    var fragment = document.createDocumentFragment(), 
    len = this.length(), 
    i = 0; 
    for (; i < len; i++) { 
     fragment.appendChild(this[i].domNode()); 
    } 
    return fragment.childNodes; 
} 
+1

Esto elimina los nodos añadidos de la dom – Pancho

Cuestiones relacionadas