2011-08-09 45 views
6

我有,看起来像一个表:有没有办法在javascript中访问一个表格的col标签数组?

<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> 

有一种简单的方式来获得<col />标签的阵列?我不想使用getElementById,因为我不知道col标签的id,尽管我会知道表的Id。我不想使用getElementsByTagName,因为文档中会有几个表格带有col标签。

我没有使用jquery,只是普通的javascript。

任何想法?

回答

5

getElementsByTagName可以在ID为“myTable”的表上使用:它将返回此表的所有列。

这里有一个例子:

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

你的意思是:'colArray =的document.getElementById( 'myTable的).getElementsByTagName(' 关口');'? –

+0

猜猜我们在同一时间打字。 :) –

+0

哈哈,是的,我在同一时间编辑;) –

4

的Javascript支持XPath:

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

是否所有的浏览器都支持document.evaluate?我认为IE仍然缺乏?如果IE确实支持这绝对是走的路! –

+0

我相信IE9呢,而且IE8有buggy支持(?),7和更早版本不支持:http://stackoverflow.com/questions/4681968/document-evaluate-cross-browser –

+0

IE 9以前的版本不支持这个http://code.google.com/p/doctype/wiki/DocumentEvaluateMethod –

相关问题