2011-08-09 15 views
6

Tengo una tabla que se parece a:¿Hay alguna forma de acceder a una matriz de etiquetas col para una tabla en javascript?

<table id="myTable"> 
    <col id="name" /> 
    <col id="birthYear" /> 
    <col id="phone" /> 
    <td> 
     <tr>Joe</tr> 
     <tr>1972</tr> 
     <tr>202-555-1234</tr> 
    </td> 
</table> 

¿Hay una manera fácil de obtener una matriz de los <col /> etiquetas? No quiero usar getElementById porque no conozco los identificadores de las etiquetas col, aunque sabré el Id de la tabla. No quiero usar getElementsByTagName porque habrá varias tablas en el documento con etiquetas col.

No estoy usando jquery, solo javascript normal.

¿Alguna idea?

Respuesta

5

getElementsByTagName se puede utilizar en la tabla con id "myTable": devolverá todos los col de esta tabla.

aquí es un ejemplo:

document.getElementById("myTable").getElementsByTagName("col") 
+1

decir: 'colArray = document.getElementById ('myTable) .getElementsByTagName (' col ');'? –

+0

Supongo que estábamos escribiendo al mismo tiempo. :) –

+0

lol, sí, estaba editando al mismo tiempo;) –

4

Javascript apoya XPath:

document.evaluate('//col', document.getElementById('myTable')); 
+1

¿Todos los navegadores admiten documentos? Pensé que aún faltaba IE. Si IE admite esto, definitivamente es el camino a seguir. –

+0

Creo que IE9 sí, y IE8 tenía soporte para errores (?), 7 y anterior no: http://stackoverflow.com/questions/4681968/document-evaluate-cross-browser –

+0

IE anterior a 9 no es compatible con esto http://code.google.com/p/doctype/wiki/DocumentEvaluateMethod –

Cuestiones relacionadas