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

我有一个表,我试图选择所有包含文本’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看起来像这样:

 
test

尝试:

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

在这里演示。

我想你错过了’)’。它对我有用:

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

试试吧

 $("tr:has(td:contains('test')").each(function(){ $(this).parent().children(".ms-vb-icon").css("visibility","hidden"); }); 

.ms-vb-icontr的子类,而$(this)函数引用td