Javascript Internet Explorer lastChild.id无法正常工作

Javascript Internet Explorer lastChild.id无法正常工作,javascript,internet-explorer,dom,Javascript,Internet Explorer,Dom,对于chrome、firefox和safari,以下代码似乎可以工作,并且能够检索表中最后一个tr的id var table = document.getElementById( tableId ); var rowid = table.lastChild.lastChild.id; 目标是使用每个行id来跟踪它的行号。我正在使用javascript动态地添加和删除行。问题是,我需要为每一行指定一个唯一的标识符,以便可以删除行。如果假设有4行并且删除了第2行,则计数将为1、3、4。如果

对于chrome、firefox和safari,以下代码似乎可以工作,并且能够检索表中最后一个tr的id

var table = document.getElementById( tableId );
    var rowid = table.lastChild.lastChild.id;
目标是使用每个行id来跟踪它的行号。我正在使用javascript动态地添加和删除行。问题是,我需要为每一行指定一个唯一的标识符,以便可以删除行。如果假设有4行并且删除了第2行,则计数将为1、3、4。如果添加了另一行,它不能是4,否则将有重复的4。正确的方法是对所有元素重新编号(但每行中有许多元素与其计数相关,因此几乎很难重新编号)

有没有更好的办法?或者IE javascript有一个简单的修复程序吗?

试试这个:

var table = document.getElementById( tableId );
var trArr = table.getElementsByTagName('tr');
var tdArr = trArr[trArr.length - 1].getElementsByTagName('td');
var rowid = tdArr[tdArr.length - 1].id;

“getElementsByTagName”方法返回的类型是ArrayWhat,如果他使用该函数从任何类型的标记获取任何lastchild元素,不仅是@Garis:Then
foo.childNodes[foo.childNodes.length-1]
,而且要注意,在除IE以外的所有浏览器中,不重要的空格作为子节点计数。
getElementsByTagName
返回的对象不是
数组
,而是
节点列表
,该数组类似于具有
长度
属性的数组,其名称对应于从0到长度-1的所有数字。现在,jquery非常有名,而且易于使用。类似于:var rowid=$('#tableid>tr:last child>td:last child')。attr('id');或者var rowid=$(“#tableid>tr:last child>td:last child”).get(0.id;请参阅Internet Explorer 8.0.7中的内容,它工作正常。。。您使用的是什么版本的internet explorer?