我目前对 IE8 中的 rowIndex 有一个大问题。当我调用该页面时,我有一个空表元素。我现在使用 Javascript 向该表添加行和列。
// Create Elements
tr = document.createElement('tr');
td = document.createElement('td');
// Append Elements to existing Table
tr.appendChild(td);
table.appendChild(tr);
用户稍后可以选择删除这些行。要删除它们,我只需调用表的 deleteRow 函数并将 rowIndex 作为参数传递。
table.deleteRow(tr.rowIndex);
在 Firefox 中这工作正常。 rowIndex 正确,可以删除行。在 IE8 中,rowIndex 始终为 -1。 deleteRow 函数 - 当然 - 找不到匹配的行并且该行未被删除。
有谁知道这个问题并且有好的解决方案吗?
最佳答案
如果行在表格中但表格未附加到文档,IE 仍会为您提供 -1 rowIndex。
您可以通过将表格添加到文档来修复它,但通过简单地使用通用 DOM Level 1 Core 方法而不是特定于表格的 DOM-HTML 方法可能更容易避免此问题:
tr.parentNode.removeChild(tr);
最好创建一个 tbody
元素并将行放入其中;否则浏览器可能会意外地为你做这件事。
关于javascript - Javascript 中的行索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1524090/