如果子项具有内容,则将类添加到父项

时间:2015-10-22 12:25:37

标签: jquery

如果具有.present类的子项具有任何html内容,我试图将类添加到最近的元素。

我的代码......

<article>
  <div class="box">
    <h2>1 dec</h2>
  </div>

  <div class="present">
    <h1>HAS CONTENT</h1>
  </div>
</article>

<script>
  $(document).ready(function(){
      if ($(".present").html().length > 0) {
       $(this).parent().addClass('active');
      }
  });
</script>

我已经测试了如果带有console.log的条件返回为true,但是活动类没有被添加到父元素。谁能让我知道我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

您可以使用filter()获取没有html的元素,然后将其父级添加到添加

$(".present").filter(function(){
   return $(this).html().trim().length > 0;
}).parent().addClass('active');

修改

要将课程添加到.present,您可以跳过.parent()

Live Demo

$(".present").filter(function(){
   return $(this).html().trim().length > 0;
}).addClass('active');