我有下面的表格,我使用下面的代码来获取id为tbl1的tr的索引。问题是返回的应该是2的索引在IE中是正确的,但是它会以3在chrome和firefox中。有人请告诉我这里我做错了什么。
var parent = document.getElementById("tbl1").parentElement;
var tr = document.getElementById("tbl1");
var index = -1;
for (var i = 0; i < parent.childNodes.length; i++) {
if (parent.childNodes.item(i) == tr) {
index = ++i;
break;
}
}
<TABLE border=0 cellSpacing=0 cellPadding=0><TBODY>
<TR>
</TR>
<TR id="tbl1">
</TR>
<TR></TR>
</TBODY></TABLE>
答案 0 :(得分:2)
如何使用rowIndex
:
var tr = document.getElementById("tbl1"),
index = tr.rowIndex + 1;
console.log(index); // => 2
答案 1 :(得分:1)
我知道你没有要求使用jQuery的解决方案,无论如何:
$('#tbl1').index()+1
也给你2个。
它适用于任何类型的节点,而不仅仅是TR。