为什么这个javascript工作不能正确地分配.cells[] ?

Why doesn't this javascript work assign .cells[] properly?

本文关键字:cells 分配 正确地 不能 javascript 工作 为什么      更新时间:2023-09-26

为什么不行?

var row = document.getElementById(currentRow);
var otherRow = document.getElementById(targetRow);
row.cells[0] = otherRow.cells[0];

row.cells[0].innerHTML = otherRow.cells[0].innerHTML;

但是,我也想移动单元格的属性,而不必手动重新创建它们。

解决方案(注意:在我的实际实现中做了更多的工作,但这是框架):

for (var i = 0; i < 4; i++) {
    var copyTo = row.cells[i];
    var copyFrom = otherRow.cells[i].cloneNode(true);
    copyTo.parentNode.replaceChild(copyFrom, copyTo);
}

您应该能够使用cloneNode()实际克隆节点及其属性。

cells中的每个条目都引用一个DOMElement。当您输入row.cells[0] = otherRow.cells[0]时,您说您希望row.cell[0]引用与otherRow.cells[0]相同的DOMElement。

我猜你想要row.cells[0]有相同的文本或HTML作为otherRow.cells[0];在这种情况下,第二个代码片段将做到这一点,因为你实际上是修改DOMElement,而不仅仅是改变哪个DOMElement你引用。