循环遍历每个表行的JQuery

时间:2010-06-29 02:23:00

标签: jquery html html-table

我有以下表结构

<table class="ms-listviewtable>
<tr>
<td class="ms-vb2-icon"/>
<td class="ms-vb2"/>
<td class="ms-vb2"/>
<td class="ms-vb2"/>
<td class="ms-vb2"/>
<td class="ms-vb2">test1</td>
</tr>
<tr>
<td class="ms-vb2-icon"/>
<td class="ms-vb2"/>
<td class="ms-vb2"/>
<td class="ms-vb2"/>
<td class="ms-vb2"/>
<td class="ms-vb2">test2</td>
</tr>
<tr>
<td class="ms-vb2-icon"/>
<td class="ms-vb2"/>
<td class="ms-vb2"/>
<td class="ms-vb2"/>
<td class="ms-vb2"/>
<td class="ms-vb2">test3</td>
</tr>
</table>

我需要遍历每一行然后循环遍历每个td并检查一行中的td是否包含文本'test1',如果是这样的话我需要在同一行中隐藏带有“ms-vb2-icon”类的td。

有人可以给我一些指示吗?

2 个答案:

答案 0 :(得分:4)

你可以这样做:

$("tr:has(td:contains('test1')) td.ms-vb2-icon").hide();

You can test the code against your markup here

这使用:contains()查看<td>是否包含该文字,包含在:has()中,以查看<tr>是否有与之匹配的元素,下一个我们'重新找到匹配行中的td.ms-vb2-icon单元并隐藏它们。

答案 1 :(得分:0)

$("td:contains('test1')").addClass("ms-vb2-icon");

http://api.jquery.com/contains-selector/
http://api.jquery.com/addClass/