在表中获取tr索引

时间:2012-12-14 22:29:28

标签: javascript html

我有下面的表格,我使用下面的代码来获取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>

2 个答案:

答案 0 :(得分:2)

如何使用rowIndex

var tr = document.getElementById("tbl1"),
    index = tr.rowIndex + 1;

console.log(index);  // => 2

See demo

答案 1 :(得分:1)

我知道你没有要求使用jQuery的解决方案,无论如何:

$('#tbl1').index()+1

也给你2个。

它适用于任何类型的节点,而不仅仅是TR。