Javascript 获取表中的下一行

Javascript 获取表中的下一行,javascript,Javascript,在下面的例子中,你是如何得到下一行的?(我正在尝试打印提供的rowId的下三行/列值) 函数printRowData(rowId) { var row=document.getElementById(rowId); 对于(i=0;i尝试使用nextSibling属性: row = row.nextSibling 但请注意,源HTML中的空白可能会变成行中的文本节点。您可能需要多次调用nextSibling来跳过文本节点 您考虑过使用jQuery吗?使用jQuery,您不必担心文本节点: row

在下面的例子中,你是如何得到下一行的?(我正在尝试打印提供的rowId的下三行/列值)

函数printRowData(rowId)
{
var row=document.getElementById(rowId);

对于(i=0;i尝试使用
nextSibling
属性:

row = row.nextSibling
但请注意,源HTML中的空白可能会变成行中的文本节点。您可能需要多次调用
nextSibling
来跳过文本节点

您考虑过使用jQuery吗?使用jQuery,您不必担心文本节点:

row = $("#" + rowId);
...
row = row.next();

row=row.nextSibling
。您可能需要在while循环中执行此操作,因为您可能会遇到空白节点,因此您应该检查下一个节点是否具有正确的标记名。

如果您可以使用jQuery,那么这将变得非常简单

row.next();

使用
document.getElementById(rowId).nextSibling

如果只需要下一行,而不需要后续行,可以执行以下操作:

var next = row.parentNode.rows[ row.rowIndex + 1 ];
因此,您的代码可以如下所示:

function printRowData(rowId) {
    var row=document.getElementById(rowId);
    var idx = row.rowIndex;
    for(i=0; i<4 ; i++) {
        if( row ) {
            alert(row.cells[0].innerText);
           var row = row.parentNode.rows[ ++idx ];
        }
    }
}
函数printRowData(rowId){
var row=document.getElementById(rowId);
var idx=row.rowIndex;

for(i=0;i来解决您现在可以使用的空白问题

row = row.nextElementSibling
当您到达表的末尾时,请确保检查null,或者如果您有一个
thead
tbody
tfoot
它将位于该特定节点的末尾


如果您支持较旧的浏览器,您可能需要使用垫片。

不确定,但这可能取决于
表的编码方式。
tr
s之间的空白可以解释为
.nextSibling
。这将在W3C兼容的浏览器中中断。@Jaso,@patrick:这是正确的,正如我在更新的回答。我认为jQuery的
next()
实现…@Ates不会有问题。我看了一下。我认为jQuery的
next()
不会有问题,特别是如果使用像
next('tr')这样的选择器表达式
您不需要加载整个库来选择表中的下一行。非常感谢jason…但我希望至少打印三行或更多行。其次,如果我选择“row.rowIndex+1”它正在跳过下一个直接行!!@Salman:它不会跳过下一行。
循环的
目的是为了得到3行而不是一行吗?代码应该做什么?…如果你想得到给定行的第一个单元格内容,再加上两行。
row = row.nextElementSibling