我有以下表结构
<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。
有人可以给我一些指示吗?
答案 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/