如果div没有内容,则JQuery隐藏父元素

时间:2014-08-12 14:51:39

标签: javascript jquery jquery-ui

我有这样的代码..如果div class = content没有内容,我需要隐藏父div。 任何人都可以告诉我如何做到这一点。 看起来很简单,用Google搜索大约2-3个小时,但我无法解决这个问题。

      <div id="row-custom_57" class="section custom_57-section">
        <div class="label">
            Designation
        </div>
         <div class="content">

         </div>
         <div class="clear"></div>
      </div>
      <div id="row-birth_date" class="section birth_date-section">
        <div class="label">
            Date of birth
        </div>
         <div class="content">

         </div>
         <div class="clear"></div>
      </div>
      <div id="row-birth_date" class="section birth_date-section">
        <div class="label">
            Date of birth
        </div>
         <div class="content">

         </div>
         <div class="clear"></div>
      </div>

我试过这样的事情。但没有运气。它没有进入条件..任何人都可以请告诉我如何做到这一点。

                $('.content').each(function(){
                    console.log($(this).text());
                    //console.log($(this).html());
                    if($(this).html() === null)
                    {
                        console.log('innnnn' + $(this).html);
                        //$(this).hide();
                        //$(this).parent().hide();
                        //$(this).parent().parent().hide();
                    }
                    else{
                            //console.log($(this).html());
                    }

非常感谢

3 个答案:

答案 0 :(得分:2)

内容实际上是null还是空字符串?

如果您尝试这样做会发生什么:

if($(this).html().match(/^\s*$/))
{
    console.log('innnnn' + $(this).html);
}

答案 1 :(得分:0)

这样做:

$('.content').each(function(){
    if($(this).html()==''){
        $(this).parent().hide();
    }
});

$(this).html()返回的值是一个字符串,因此永远不会是null,它只是''(空)

答案 2 :(得分:0)

我认为它更喜欢这样检查:

$(this).text()

因为这只返回不包含html标签的文本。