仅隐藏循环中子级的父类

时间:2018-07-20 06:20:27

标签: javascript php jquery wordpress

我在WordPress中显示了此循环。

<div class="parent-div" id="unuqueIdHereForEachBlock">
 <div class="child-1"></div>
 <div class="child-2">
    <div class="sub-child">

    </div>
 </div>
</div>

此“ parent-div”处于循环中,每个帖子重复20-30次。对于某些帖子,sub-child div不会包含任何内容,在这种情况下,我只想针对该特定帖子隐藏“ child-1” div。

使用jQuery,JavaScript或PHP的解决方案很好。

希望如此。

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以尝试关注

$(".parent-div").each((i,e) => {
if(!$(e).find(".child-2 .sub-child").text().trim()) $(e).find(".child-1").hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="parent-div" id="unuqueIdHereForEachBlock">
 <div class="child-1">Text 1</div>
 <div class="child-2">
    <div class="sub-child">

    </div>
 </div>
</div>
<div class="parent-div" id="unuqueIdHereForEachBlock">
 <div class="child-1">Text 2</div>
 <div class="child-2">
    <div class="sub-child">
        Some text
    </div>
 </div>
</div>

答案 1 :(得分:0)

使用jQuery尝试一下,您可以在其中遍历每个父div并检查文本。如果文字长度为零,则隐藏子div

$(function(){
  $(".parent-div").each(function(){
    var text = $(this).find(".child-2 > .sub-child").text();
     if(text.length==0) {
        $(this).find(".child-1").hide();
      }
  });
});