我有一张这样的表
<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>
&#13;
span
&#13;
我只是希望能够隐藏tr中具有特定类的label label-primary
深的表行。在这种情况下,{{1}}。
但是,这似乎不起作用。它什么也没隐藏。
我在tampermonkey上使用它来编辑一个我没有版权访问权限的网页。
我做错了什么?
答案 0 :(得分:1)
:contains()
选择包含指定文本的所有元素。您希望使用find()
(https://api.jquery.com/find/)或:has()
https://api.jquery.com/has-selector/根据选择器进行选择。你还必须写“.label.label-primary”来表明它们是类。
$('td:has(.label.label-primary)').parent().hide();
OR
$('td').find('.label.label-primary').parent().hide();
答案 1 :(得分:0)
试试这个:
$('span').hasClass('label label-primary').parents('tr:first').hide();
答案 2 :(得分:0)
使用jQuery :has()
伪类选择器来检查元素是否包含至少一个与指定选择器匹配的元素。或使用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>
答案 3 :(得分:0)
试试这个..
$(".table td").filter(function() {
return $('span', this).hasClass('label.label-primary');
}).hide();
答案 4 :(得分:0)
这是一个单线解决方案,希望它有所帮助:
$("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>
答案 5 :(得分:0)
我可以建议你这个jquery脚本吗?
$('td').find(".label.label-primary").closest('tr').hide();
答案 6 :(得分:0)
您可以使用解决方案
$('table tr').each(function(){
$(this).find('span[class="label label-primary"]').hide();
});
&#13;
<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>
&#13;
只需遍历所有tr
&amp;然后找到具有特定类的span
。
希望这会对你有所帮助。