JQuery选择行中td内包含特定文本的所有行

时间:2010-12-03 01:10:55

标签: jquery jquery-selectors

我有一个表,我试图选择所有包含文本'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>

3 个答案:

答案 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-icontr的孩子,而$(this)功能是指td