javascript - Internet Explorer lastChild.id 无法正常工作

标签 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。如果添加另一行,则不能为 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;

关于javascript - Internet Explorer lastChild.id 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3572373/

相关文章:

javascript - Kartik Talwar 的 Gmail.js 的 "view_thread"事件不起作用

css - IE 的缩放级别如何影响子像素舍入?

html - 定位 <li> 属性?

jquery - 我应该通过 RequireJS 加载所有内容(包括 jQuery)吗?

php - 如何使用 PHP Simple HTML DOM Parser 查找非超链接文本

javascript - 滚动功能无法正确触发动画

javascript - IE <= 8 相当于 selection.getRangeAt()?

php - 对复选框单击和取消单击进行 +/- 计数

html - 无法垂直对齐 float 元素和周围元素

javascript - 我如何添加一个 HTML 字符串并使其成为某个节点的子节点?