0

我正在处理一张桌子,我需要处理当前行和下一行。我的功能如下所示:

function test(row) {
    alert(row.id); //it gives me the current row id, it works.
    nextrow = row.nextSibling.nextSibling; //not sure why, but i have to use it twice to get the right one.
    alert(nextrow.id); //this gives me the next row's id, also works.
    alert(row.id); //this also gives me the next row's id...it should give me the current one.
}

任何想法,如果我可以将实际对象存储在某个地方,这样它就不会改变?谢谢你。

4

1 回答 1

0

HTML nextSibling 属性返回下一个兄弟节点,包括文本、换行符和注释

这可能就是为什么你必须调用它两次。

关于更改的事实row.id,我建议重新检查代码。如果没有row或row.id的影响,那么row.id就不会在代码的第1行和第4行之间发生变化。那是您的真实代码,还是为提高可读性而安排的代码?

对于 DOM 操作,如果可以,我强烈建议使用 jQuery。这是一个非常简单而强大的库,它使 DOM 操作变得非常容易。

如果你不能在你的上下文中使用它,你应该编写一个名为的实用方法nextRow,它将一个 TR 作为参数并返回下一个 TR。它将使用 nextSibling 属性,直到找到标记名实际上是 TR 的节点。

于 2012-05-21T12:50:50.633 回答