Javascript 获取表中的tr索引
我有下表,我正在使用下面的代码获取id为tbl1的tr的索引。问题是,返回的索引在IE中应该是2,但在chrome和firefox中却是3。有人能告诉我我这里做错了什么吗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
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这样的库,许多跨浏览器问题就会消失。