我有以下表结构
<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。
有人可以给我一些指示吗?
最佳答案
你可以这样做:
$("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
匹配行中的单元格并隐藏它们。
关于JQuery 循环遍历每个表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3137455/