如果父对象只包含两个或更少的子对象,我需要隐藏它。 szenario是:我将事件列为<div class="event"
&gt;每个活动都有一个网址和一个标题。此外,每个event
可以有participants
种不同的类型 - 或者没有。如果没有列出参与者,我希望jQuery删除该条目。
到目前为止我所拥有的是:
// Hide empty events
if(($(".event").children().length)<3) {
$(this).hide();
}
但这没有任何影响。
在不同的内容teype上,我使用它来检查(并删除)空父母:
$("description:empty").parent().hide();
我希望将这一个衬垫应用于我的“事件任务”,但数据结构/ xslt转换太不同,无法应用相同的简单功能。欢迎任何指示!
答案 0 :(得分:3)
您需要检查event
的实例,否则您将收集 所有 事件
您可以使用$.each
或使用filter()
$(".event").filter(function(){
return $(this).children().length < 3;
}).hide();
答案 1 :(得分:1)
你必须循环你的元素来检查它们是我的代码
$(document).ready(function(){
$(".event").each(function(){
if(($(this).children().length)<3) {
$(this).hide();
}
});
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="event" >
<span>1</span>
<span>1</span>
<span>1</span>
</div>
<div class="event" >
<span>1</span>
<span>1</span>
</div>
<div class="event" >
<span>1</span>
</div>
<div class="event" >
<span>1</span>
<span>1</span>
<span>1</span>
<span>1</span>
<span>1</span>
</div>
&#13;