jQuery:如果只有2个子对象(或更少),则隐藏父对象

时间:2015-04-27 15:27:30

标签: javascript jquery xslt

如果父对象只包含两个或更少的子对象,我需要隐藏它。 szenario是:我将事件列为<div class="event"&gt;每个活动都有一个网址和一个标题。此外,每个event可以有participants种不同的类型 - 或者没有。如果没有列出参与者,我希望jQuery删除该条目。

到目前为止我所拥有的是:

// Hide empty events
if(($(".event").children().length)<3) { 
$(this).hide();
}

但这没有任何影响。

在不同的内容teype上,我使用它来检查(并删除)空父母:

$("description:empty").parent().hide();

我希望将这一个衬垫应用于我的“事件任务”,但数据结构/ xslt转换太不同,无法应用相同的简单功能。欢迎任何指示!

2 个答案:

答案 0 :(得分:3)

您需要检查event的实例,否则您将收集 所有 事件

的子项集合

您可以使用$.each或使用filter()

对所有内容进行循环播放
$(".event").filter(function(){
    return $(this).children().length < 3;
}).hide();

答案 1 :(得分:1)

你必须循环你的元素来检查它们是我的代码

&#13;
&#13;
$(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;
&#13;
&#13;