j查询表行中的每个循环
jQuery each loop in table row
我有这样的东西:
<table id="tblOne">
<tbody>
<tr>
<td>
<table id="tblTwo">
<tbody>
<tr>
<td>
Items
</td>
</tr>
<tr>
<td>
Prod
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
Item 1
</td>
</tr>
<tr>
<td>
Item 2
</td>
</tr>
</tbody>
</table>
我已经编写了jQuery来遍历每个tr,如下所示:
$('#tblOne tr').each(function() {...code...});
但问题是它循环通过"tblTwo"的"tr",这也是我不想要的。任何人都可以提出一些措施来解决这个问题吗?
在 jQuery 中只需使用:
$('#tblOne > tbody > tr').each(function() {...code...});
使用子项选择器 ( >
),您将遍历所有子项(而不是所有子代),例如三行:
$('table > tbody > tr').each(function(index, tr) {
console.log(index);
console.log(tr);
});
结果:
0
<tr>
1
<tr>
2
<tr>
在 VanillaJS 中,您可以使用 document.querySelectorAll()
并使用 forEach()
遍历行
[].forEach.call(document.querySelectorAll('#tblOne > tbody > tr'), function(index, tr) {
/* console.log(index); */
/* console.log(tr); */
});
只是一个建议:
我建议使用 DOM 表实现,它非常简单易用,您真的不需要 jQuery 来完成此任务。
var table = document.getElementById('tblOne');
var rowLength = table.rows.length;
for(var i=0; i<rowLength; i+=1){
var row = table.rows[i];
//your code goes here, looping over every row.
//cells are accessed as easy
var cellLength = row.cells.length;
for(var y=0; y<cellLength; y+=1){
var cell = row.cells[y];
//do something with every cell here
}
}
使用直系子选择器>
:
$('#tblOne > tbody > tr')
说明:选择由 "子"指定的所有直接子元素 由"父"指定的元素。
相关文章:
- jQuery:循环一个具有不同超时值的循环
- 在循环中分配json值时,值被覆盖
- 如何在下面的ES6循环中获得前面的文本
- 为什么“;未定义的“;在JavaScript中结束循环
- Javascript循环不会自我更新
- 如何使用jquery处理php循环通过元素
- 而循环只设置php中输入字段中的第一个值
- 循环遍历数组中的特定索引
- Javascript返回值只在循环中返回一次
- 按照选项卡索引的顺序循环一个jQuery选择
- 循环遍历以数组为值的Javascript对象
- 为什么JavaScript在for循环为3时向所有4发出警报
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 循环结束/推送到数组之前在页面上呈现EJS
- 循环比赛位置算法
- jQuery循环在特定位置暂停
- 我的javascript for循环不起作用
- 循环浏览多个身体背景图像
- j查询表行中的每个循环
- 无限javascript while循环查询表