有一个重复的<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();
}
});
答案 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()
的代码应该有效。