Javascript 获取表中的tr索引

Javascript 获取表中的tr索引,javascript,html,Javascript,Html,我有下表,我正在使用下面的代码获取id为tbl1的tr的索引。问题是,返回的索引在IE中应该是2,但在chrome和firefox中却是3。有人能告诉我我这里做错了什么吗 var parent = document.getElementById("tbl1").parentElement; var tr = document.getElementById("tbl1"); var index = -1; for (var i = 0; i < parent.chil

我有下表,我正在使用下面的代码获取id为tbl1的tr的索引。问题是,返回的索引在IE中应该是2,但在chrome和firefox中却是3。有人能告诉我我这里做错了什么吗

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>
var parent=document.getElementById(“tbl1”).parentElement;
var tr=document.getElementById(“tbl1”);
var指数=-1;
对于(var i=0;i
直接使用
行索引如何

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

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

使用
行索引
怎么样:

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

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

我知道您没有要求使用jQuery解决方案:

$('#tbl1').index()+1
也给你2个


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

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

$('#tbl1').index()+1
也给你2个


它适用于任何类型的节点,而不仅仅是因为换行。例如,IE将换行符解释为子节点如果您使用像jQuery这样的库,许多跨浏览器问题就会消失。这是因为换行符。例如,IE将换行符解释为子节点。如果使用jQuery这样的库,许多跨浏览器问题就会消失。