当表包含嵌套表时,选择表中某一级别上的所有td's
Select all td's at a certain level in a table when it contains nested tables
我有一个大致如下的表:
====================
| td | td* |
| | |==========|
| | |td*| td& |
| | |td*|======|
| | |td*|td&|td|
| | | |======|
| | |==========|
====================
我想根据元素在层次结构中的位置来选择它们;例如,我想选择所有标记为*或所有标记为&
的td tr td:nth-child()
选择器不适合我,因为有嵌套的表,所以选择器也应用于它们。
我可以使用jQuery或javascript方法。
下面是HTML布局:
<table>
<tr>
<td>
Label1
</td>
<td name="level-2">
<table>
<tr>
<td name="level-2">Label2
</td>
<td name="level-3">
<table>
<tr>
<td name="level-3">Label3</td>
<td name="level4">Value3</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
当我执行$('table tr td:nth-child(2)');
时,它选择包含内容的整个父level-2
td,但不选择第二个二级td。
我可以建议您实现一些递归javascript函数来获取表的每个td
级别,然后获取该表的所有td
元素并将该td
的选择器传递给函数以获取其级别。在每次迭代中,你都有它的td级。关于
只要您不为其他td使用相同的名称,这应该可以达到目的。
[name=level-num]根据"level-num"的名称进行选择(根据您想要的td的名称进行更改,您也可以根据值或id等进行搜索)。
"。每个"只是选择指定的每个元素(在本例中,每个td的名称为"level-num")。
$(td[name=level-num]).each(function(){
$(this).something; //do something with every td that has the name "level-*Level Number*"
});
相关文章:
- 正在获取生成的PHP td值
- 如何在td元素中添加监听器
- 如何首先设置样式<td>表中包含在窗体中的元素
- 使用javascript获取表的td值
- tu如何将id放在填充了json数据的html表td上
- 改变所有<td>为特定的桌子点击颜色
- JQuery展开和隐藏表td
- jQuery如何获取td单元格值
- 如何调用表td标记内的Onload函数
- 使用谷歌地图api计算距离并将其设置在表格中<td>
- 查找所有TD标签并读取其数据属性
- 在同一tr-jQuery中获取td的值
- jQuery将td onclick值传递到其他表
- 计算HTML表TD中两个数字之间的百分比
- 使用querySelector()获取最后一个td元素
- <td> focusin event .addclass
- 如何通过js更改td的属性
- 选择所有td's基于所选内容覆盖多行
- JQuery选择器:如果同级具有.class,则选择td
- jQuery将TD注入适当的列(俄罗斯方块风格)