如果 child 的 child,则隐藏整个 <tr>
Hide entire <tr> if child's child
我有一个table这样的
$('td:contains("label label-primary")').parent().hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<tbody>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-primary">
HIDE
</span>
</a>
</td>
</tr>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-danger">
SHOW
</span>
</a>
</td>
</tr>
</tbody>
我只想隐藏 table 行,其中 tr 深处的 span
具有特定的 class。在这种情况下,label label-primary
.
然而,这似乎不起作用。它没有隐藏任何内容。
我在 tampermonkey 上使用它来编辑我没有编辑权限的代码的网页。
我做错了什么?
试试这个:
$('span').hasClass('label label-primary').parents('tr:first').hide();
使用jQuery:has()
pseudo-class selector to check element contains at least one element that matches the specified selector. Or use has()
方法过滤掉元素
$('td:has(".label.label-primary")').parent().hide();
// or
$('tr:has("td .label.label-primary")').hide();
// or using has method
$('tr').has("td .label.label-primary").hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-primary">
ble> HIDE
</span>
</a>
</td>
</tr>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-danger">
SHOW
</span>
</a>
</td>
</tr>
</tbody>
</table>
试试这个..
$(".table td").filter(function() {
return $('span', this).hasClass('label.label-primary');
}).hide();
:contains()
selects 包含指定文本的所有元素。你想使用find()
(https://api.jquery.com/find/) or :has()
https://api.jquery.com/has-selector/到select基于selector。你还必须写“.label.label-primary”来表明它们是类.
$('td:has(.label.label-primary)').parent().hide();
OR
$('td').find('.label.label-primary').parent().hide();
这里是一个单行解决方案,希望对您有所帮助:
$("tr > td > a").find("span[class*='label label-primary']").closest("tr").hide()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<table>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-primary">
HIDE
</span>
</a>
</td>
</tr>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-danger">
SHOW
</span>
</a>
</td>
</tr>
</table>
</body>
我可以向您推荐这个 jquery 脚本吗?
$('td').find(".label.label-primary").closest('tr').hide();
给你一个解决方案
$('table tr').each(function(){
$(this).find('span[class="label label-primary"]').hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<table>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-primary">
HIDE
</span>
</a>
</td>
</tr>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-danger">
SHOW
</span>
</a>
</td>
</tr>
</table>
</body>
只需遍历所有 tr
,然后找到具有特定 class 的 span
。
希望对您有所帮助。
我有一个table这样的
$('td:contains("label label-primary")').parent().hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<tbody>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-primary">
HIDE
</span>
</a>
</td>
</tr>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-danger">
SHOW
</span>
</a>
</td>
</tr>
</tbody>
我只想隐藏 table 行,其中 tr 深处的 span
具有特定的 class。在这种情况下,label label-primary
.
然而,这似乎不起作用。它没有隐藏任何内容。
我在 tampermonkey 上使用它来编辑我没有编辑权限的代码的网页。
我做错了什么?
试试这个:
$('span').hasClass('label label-primary').parents('tr:first').hide();
使用jQuery:has()
pseudo-class selector to check element contains at least one element that matches the specified selector. Or use has()
方法过滤掉元素
$('td:has(".label.label-primary")').parent().hide();
// or
$('tr:has("td .label.label-primary")').hide();
// or using has method
$('tr').has("td .label.label-primary").hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-primary">
ble> HIDE
</span>
</a>
</td>
</tr>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-danger">
SHOW
</span>
</a>
</td>
</tr>
</tbody>
</table>
试试这个..
$(".table td").filter(function() {
return $('span', this).hasClass('label.label-primary');
}).hide();
:contains()
selects 包含指定文本的所有元素。你想使用find()
(https://api.jquery.com/find/) or :has()
https://api.jquery.com/has-selector/到select基于selector。你还必须写“.label.label-primary”来表明它们是类.
$('td:has(.label.label-primary)').parent().hide();
OR
$('td').find('.label.label-primary').parent().hide();
这里是一个单行解决方案,希望对您有所帮助:
$("tr > td > a").find("span[class*='label label-primary']").closest("tr").hide()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<table>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-primary">
HIDE
</span>
</a>
</td>
</tr>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-danger">
SHOW
</span>
</a>
</td>
</tr>
</table>
</body>
我可以向您推荐这个 jquery 脚本吗?
$('td').find(".label.label-primary").closest('tr').hide();
给你一个解决方案
$('table tr').each(function(){
$(this).find('span[class="label label-primary"]').hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<table>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-primary">
HIDE
</span>
</a>
</td>
</tr>
<tr>
<td>
<a class="pums" rel="tooltip">
<span class="label label-danger">
SHOW
</span>
</a>
</td>
</tr>
</table>
</body>
只需遍历所有 tr
,然后找到具有特定 class 的 span
。
希望对您有所帮助。