2011-07-30 25 views
8

Hacer una alerta() en una de mis variables de me da este resultadoJavascript, ver "lista de nodos objeto"

[object NodeList] 

Como puedo ver todos los valores de esa?

Nota; Estoy en Firefox y no sé cómo usar chromebug por lo que no está instalado.

Respuesta

6

Se puede recorrer los valores en un mismo camino NodeList lo haría con una matriz:

for (var index = 0; index < nodeList.length; index++) { 
    alert(nodeList[index]); 
} 

Aquí es un buen recurso con alguna información más en profundidad: http://reference.sitepoint.com/javascript/NodeList

+0

que sólo me avisa como esto [texto objeto] y [elemento de objeto] – Ryan

+1

@Ryan Try 'alert (Object.keys (nodeList [i]))'; – Shaz

+0

dice: [objeto XMLDocument] – Ryan

5

La mejor alternativa no es para usar alerta, ya que mostrará el objeto toString(). Usando console.log de FF y Chrome le dará un objeto extensible agradable que se puede hacer clic en perforar en ella

Y si realmente necesita la serialización, puede utilizar outerHTML

// Firefox doesn't support outerHTML on nodes, so here's a method that does it 
// http://stackoverflow.com/questions/1700870/how-do-i-do-outerhtml-in-firefox 
function outerHTML(node){ 
    return node.outerHTML || new XMLSerializer().serializeToString(node); 
} 

for (var index = 0; index < nodeList.length; index++) { 
    alert(outerHTML(nodeList[i])); 
} 
+0

Gracias, no he intentado la consola .log before ... lo buscará. ¡Salud! – Ryan

1

Hoy en día lo haría sin duda utilice la siguiente:

Chrome, Firefox 3.5+, Internet Explorer 8 +

var elements = document.querySelectorAll('a'); 

for (var i = 0, element; (element = elements[i]); i++) { 
    console.log(element); 
} 

EI11 +, Firefox 24+, 30+ Chrome (con experimentos habilitado)

let elements = document.querySelectorAll('a'); 

for (let i = 0, element; (element = elements[i]); i++) { 
    console.log(element); 
} 

"Elemento = elementos [i]" se prefieren sobre "elements.length" desde:

listas de nodo" a menudo se implementan como iteradores nodo con un filtro. Esto significa que obtener una propiedad como la longitud es O (n) e iterar sobre la lista volviendo a verificar la longitud será O (n^2). "

A diferencia del acceso a la matriz, que es lo que yo recuerdo O (1)

Más detalles:.

Cuestiones relacionadas