我有一个表,我试图选择所有包含文本'Test'的td的行,然后在所有匹配的行上隐藏带有'ms-vb-icon'类的td
我在下面使用了下面的代码,但这只隐藏了最后一个匹配行上的类
$("td:contains('test'):last").parent().children(".ms-vb-icon").css("visibility","hidden");
所以我试过这个,但它不起作用......
$("tr:has(td:contains('test')").each(function(){
(this).children(".ms-vb-icon").css("visibility","hidden");
});
简化的html如下所示:
<table>
<tbody>
<tr>
<td class=ms-vb-icon></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>test</td>
</tr>
</tbody>
<table>
答案 0 :(得分:32)
尝试:
$("tr td:contains('test')").each(function(){
$(this).siblings('td.ms-vb-icon').css("visibility","hidden");
});
演示here。
答案 1 :(得分:8)
我猜你错过了')'。它对我有用:
$("tr:has(td:contains('1'))").each(function () {
答案 2 :(得分:6)
尝试
$("tr:has(td:contains('test')").each(function(){
$(this).parent().children(".ms-vb-icon").css("visibility","hidden");
});
班级.ms-vb-icon
是tr
的孩子,而$(this)
功能是指td