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

JQuery选择行中td中包含特定文本的所有行,jquery,jquery-selectors,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)

我有一个表,我正在尝试选择包含文本“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>

测试
尝试使用

$("tr:has(td:contains('test')").each(function(){
    $(this).parent().children(".ms-vb-icon").css("visibility","hidden");
});
class
.ms vb图标
tr
的子项,而
$(此)
函数指的是
td
尝试:

$("tr td:contains('test')").each(function(){
  $(this).siblings('td.ms-vb-icon').css("visibility","hidden");
});
演示。

我想你错过了“)”。它对我很有用:

$("tr:has(td:contains('1'))").each(function () {

请注意,我还添加了一个结束语
在每个函数之前。不管怎样,你能发布一个示例标记吗?谢谢,但不知何故,下面的答案是有效的,尽管它们在我看来都是一样的……根据tamarteleco的说法,你的代码缺少一个“'),这就是为什么它不起作用,请修复代码,因为我无法为您修复它。为什么不从原始代码中删除
:last
?谢谢,这很有效,我不知道兄弟姐妹和孩子之间的区别是什么,但这就成功了!孩子们属于td,所以td是父母。同级属于td,因此它是同一tr中的另一个td。只是一个小问题,如果使用jquery,您可能会使用wlel.hide()而不是手动设置.css()