我遵循了这个jQuery: Hide parent <td> if contains child <input> with specific class?,但它在我的代码中无效:
$(function() {
$(".video-list-item").filter(function() {
return $('span', this).hasClass('.view-count');
}).hide();
});
答案 0 :(得分:3)
1)您没有将Jquery
包含为JSFiddle的库
2)在hasClass
方法中,您需要删除班级名称中的.
$(function() {
$(".video-list-item").filter(function() {
return $('span', this).hasClass('view-count');
}).hide();
});
这是一个工作小提琴
答案 1 :(得分:1)
你很亲密。你的代码中只有一个错误。
当您检查某些内容hasClass
是否需要.
前言时。
还记得你需要包含jquery。
$(function() {
$(".video-list-item").filter(function() {
return $('span', this).hasClass('view-count');
}).hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="video-list-item">
<span class="view-count">HIDE THIS</span>
</div>
<div class="video-list-item">
<span>DON'T HIDE THIS</span>
</div>
您可以在没有Jquery
的情况下执行此操作以下是使用纯javascript的示例。
var divSel = document.querySelectorAll('.video-list-item > .view-count');
for (var i = 0; i < divSel.length; i++) {
divSel[i].parentElement.style.display = "none";
}
<div class="video-list-item">
<span class="view-count">HIDE THIS</span>
</div>
<div class="video-list-item">
<span>DON'T HIDE THIS</span>
</div>
希望这有帮助。
答案 2 :(得分:0)
下一个代码返回带有video-list-item
类view-count
类的父类;然后隐藏父母。我认为这比你的方法更容易:
$(".view-count").closest('.video-list-item').hide();
更新了JSFiddle:https://jsfiddle.net/tomloprod/xzeeuotL/2/
答案 3 :(得分:0)
另一种解决方案:
$(function() {
$('.video-list-item').find('span.view-count').hide();
});
答案 4 :(得分:0)
您必须更改案例的语法。
您必须确保<td>
的班级名称类似“.video-list-item”,然后更改$('span', this)
$('input', this)
,当然,您输入会有一个类名view-count
。像这样......
$(function() {
$(".video-list-item").filter(function() {
return $('input', this).hasClass('view-count');
}).hide();
});
<td class="video-list-item">
<input class="view-count">
</td>
我希望它可以帮助你...美好的一天!!
答案 5 :(得分:0)
如果要删除包含特定类孩子的最亲生父母,这很有用:
<div class="closest_parent">
<div></div>
<div class="child_class"></div>
</div>
$('.child_class').closest('.closest_parent').remove();