2011-08-09 5 views
6

Mam tabeli, która wygląda następująco:Czy istnieje sposób dostępu do tablicy znaczników col dla tabeli w 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> 

Czy istnieje prosty sposób uzyskać tablicę <col /> tagów? Nie chcę używać getElementById, ponieważ nie znam identyfikatorów tagów col, chociaż poznam identyfikator tabeli. Nie chcę używać metody getElementsByTagName, ponieważ w dokumencie znajduje się kilka tabel ze znacznikami col.

Nie używam jquery, tylko zwykły javascript.

Wszelkie pomysły?

Odpowiedz

5

Nazwa getElementsByTagName może być używana w tabeli z id "myTable": zwróci ona cały col tej tabeli.

Oto przykład:

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

chodziło Ci o: 'colArray = document.getElementById ('myTable) .getElementsByTagName (' col ');'? –

+0

Zgadnij, że piszemy w tym samym czasie. :) –

+0

lol, tak, redagowałem w tym samym czasie;) –

4

obsługuje JavaScript XPath:

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

Czy wszystkie przeglądarki obsługują document.evaluate? Myślałem, że IE wciąż brakowało? Jeśli IE obsługuje, to zdecydowanie jest droga! –

+0

Wierzę, że IE9 ma, a IE8 ma błędne wsparcie (?), 7 i wcześniejsze, nie: http://stackoverflow.com/questions/4681968/document-evaluate-cross-browser –

+0

IE starsze niż 9 nie obsługuje tego http://code.google.com/p/doctype/wiki/DocumentEvaluateMethod –

Powiązane problemy