获取表JavaScript中的下一行
get the next row in a table-javascript
在
下面的示例中,wud u 如何获得下一行?(我正在尝试打印提供的rowId的接下来的三行/列值(
function printRowData(rowId)
{
var row=document.getElementById(rowId);
for(i=0; i<3 ; i++)
{
var column=row.getElementsByTagName("td");
alert(column[0].innerText);
//now i want to move to the next row...something like row=row.next()?????
}
}
如果您只想要下一行,而不是后续行,则可以这样做:
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 ];
}
}
}
从当前行中,它获取.parentNode
,然后从中访问rows
集合,并递增原始行的 .rowIndex
属性以选择下一行。
这可以解决空白问题。
另请注意,我用 row.cells
代替了 getElementsByTagName
,这是行中单元格的集合。
编辑:忘记在parentNode
后包含rows
属性。不过,它包含在描述中。固定。
要解决空格问题,您现在可以使用
row = row.nextElementSibling
只需确保在到达表的末尾时检查 null,或者如果您有 thead
、tbody
或tfoot
它将位于该特定节点的末尾。
如果您支持较旧的浏览器,则可能需要使用填充程序。
尝试使用 nextSibling
属性:
row = row.nextSibling
但请注意,源 HTML 中的空格可能会变成行之间的文本节点。您可能需要多次调用nextSibling
才能跳过文本节点。
你考虑过使用 jQuery 吗?使用 jQuery,您不必担心文本节点:
row = $("#" + rowId);
...
row = row.next();
row = row.nextSibling
.您可能需要在 while 循环中执行此操作,因为您可能会遇到空格节点,因此您应该检查下一个节点是否具有正确的 tagName。
如果你可以使用jQuery,那么它变得非常容易。
row.next();
使用 document.getElementById(rowId).nextSibling
相关文章:
- 有没有一行 javascript 可以将每个十六进制颜色更改为不同的十六进制颜色
- Firefox ONLY不会在if语句中运行一行javascript代码,但会运行其他行——chrome和safari运
- 如何使用一行javascript构建器模式
- 在用slim编写的ruby站点中添加一行javascript
- 试图创建一个带有删除每一行的按钮的表,但它只适用于一行(javascript)
- 格式化一行JavaScript文件的方法
- Python:抓取一行Javascript代码
- 你能用一行Javascript代码改变多个变量的相同属性吗?
- 如何在一行javascript代码中做多个css类
- 寻找一行JavaScript Regex替换
- 我如何匹配一个正则表达式在一行javascript
- Sublime Text显示CSS &一行Javascript
- 如何在一行JavaScript中添加文件名和文件扩展名之间的随机字符串
- 从firefox插件中注入一行JavaScript
- Spring MVC向JSP动态添加一行.javascript Vs控制器
- 使用行id删除一行javascript
- 运行一行javascript代码
- 用于检测是否安装了flash的一行JavaScript
- 在一行javascript中更改多个变量的值
- 一行Javascript代码的解释