我在这里做错了什么:
当我尝试在TableCell对象上使用getttribute ['id']方法时,我通过遍历表行/单元格获得它返回undefined:
var rows = document.getElementById["table"].rows;
var cells;
for(var i=0; i < rows.length; i++) {
cells = rows[i].cells
for(var j=0; j < cells.length; j++) {
alert(cells[j].innerHTML); //returns Cell1
alert(cells[j].getAttribute["id"]); //returns undefined
alert(document.getElementById["c1"].innerHTML); //returns Cell1
}
}
这是HTML示例:
<table id="table">
<tbody>
<tr>
<td id="c1">Cell1</td>
</tr>
</tbody>
</table>
问题是为什么getAttribute方法在通过cells [j]访问时为所有属性返回undefined?
答案 0 :(得分:1)
getAttribute 是一种方法,您将其用作索引器
使用
alert(cells[j].getAttribute("id"));
同时替换
document.getElementById["table"].rows;
与
document.getElementById("table").rows;
和
document.getElementById["c1"].innerHTML
与
document.getElementById("c1").innerHTML
getElementById 也是一种方法。
答案 1 :(得分:1)
在调用[]
和()
getElementById
代替括号getAttribute
//change
getElementById["table"]
getAttribute["id"]
getElementById["c1"]
//to
getElementById("table")
getAttribute("id")
getElementById("c1")
//Respectively.
答案 2 :(得分:0)
我不知道为什么,但getAttribute
不喜欢id属性。请改用cells[j].id
。
答案 3 :(得分:0)
只需使用cells [j] .id来获取单元格的id。
答案 4 :(得分:0)
或者,您可以使用getAttribute方法:
xmlDoc.getElementsByTagName("sec")[0].getAttribute("id")
我会在s1
找回像<sec id="s1">
这样的标记。