jQuery如果div没有任何class或div

时间:2014-03-20 01:41:35

标签: javascript jquery

enter image description here

有一个重复的<div class="content" data-num="2"></div>(如果多次单击该按钮会更多),其中没有任何内容。 如何检查content中是否包含任何内容并将其删除?

if($('.content').children().length == 0)

或需要使用each之类的东西吗?

 $('.content').each(function(i, obj){
     if($('.content').children().length == 0){
        $(this).remove();
     }
});

3 个答案:

答案 0 :(得分:3)

您可以使用:empty jQuery选择器选择所有没有子元素的元素。有关详细信息,请参阅http://api.jquery.com/empty-selector/

使用:empty可以防止在循环中进行额外的if检查 - 您的删除功能仅对要删除的项目进行操作......效率更高。

类似于:

$('.content:empty').each(function() {
    //Do your delete, etc here :)
    $(this).remove();
});

根据 jfriend00 的建议,进行删除的进一步简化将是:

$('.content:empty').remove();

有很多不同的解决方法。

答案 1 :(得分:1)

可能有一种更简单的方法,但检查每个html()的{​​{1}}应该对您有用。 Demo

.content

答案 2 :(得分:0)

您已经意外关闭了)条款的额外if

if($('.content')).children().length == 0){
// ------------ ^ remove this

否则,each()的代码应该有效。