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

发布于 2024-10-05 08:31:35 字数 680 浏览 0 评论 0原文

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

I have a table for which I am attempting to select all rows which have a td containing the text 'Test' and then hide the td with class 'ms-vb-icon' on all the matched rows

I intitally had the code below but this only hide the class on the last matched row

 $("td:contains('test'):last").parent().children(".ms-vb-icon").css("visibility","hidden");

So I tried this but its not working...

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

Simplified html look like this:

<table>
<tbody>
<tr>
<td class=ms-vb-icon></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>test</td>
</tr>
</tbody>
<table>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

够钟 2024-10-12 08:31:35

尝试:

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

此处进行演示。

Try:

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

Demo here.

不念旧人 2024-10-12 08:31:35

尝试使用

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

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

Try with

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

The class .ms-vb-icon is a child of the tr while the $(this) function refer to the td

别把无礼当个性 2024-10-12 08:31:35

我猜你错过了 ')' 。它对我有用:

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

I guess you are missing ')' .It worked for me:

$("tr:has(td:contains('1'))").each(function () {
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文