Jquery 如何检测是否从我的div中删除了所有元素?

Jquery 如何检测是否从我的div中删除了所有元素?,jquery,Jquery,我想通过单击add添加一些div框。然后,我想能够删除这些框再次点击删除按钮。当从列表中删除所有框时,我希望有一个警告注释。我的函数中有一个错误,我无法找出它: $(文档).ready(函数(){ $(“.add”)。单击(函数(){ var el=$(“移动框”); $(“.list”)。追加(el); }); $('.remove')。在('单击','.remove',函数()上{ $(this).closed(“.box”).remove(); if($(this.children().

我想通过单击
add
添加一些div框。然后,我想能够删除这些框再次点击删除按钮。当从
列表中删除所有框时
,我希望有一个警告注释。我的函数中有一个错误,我无法找出它:

$(文档).ready(函数(){
$(“.add”)。单击(函数(){
var el=$(“移动框”);
$(“.list”)。追加(el);
});
$('.remove')。在('单击','.remove',函数()上{
$(this).closed(“.box”).remove();
if($(this.children().length<0){
警报(“全部移除”);
}
}); 
});

添加

问题是长度不能小于0。最低值为0

试试这个

$('.remove').on('click', function () {
  $('.list').html('');

  if ($(this).children().length === 0) {
    alert("all removed");
  }
});
$(文档).ready(函数(){
$(“.add”)。单击(函数(){
var el=$(“移动框”);
$(“.list”)。追加(el);
});
$(文档).on('单击','.remove',函数(){
$(this.parent().remove();
如果(!$('.remove').length)警报('All removed');
});
});

添加
  • 您应该在()上使用事件委派
    on
    ,因为您的div是动态添加到DOM的:

    $('body').on('click', '.remove', function () {
        //Your code
    });
    
  • 以下条件将永远无法实现,因为当没有div时,长度将
    0
    ,但决不能小于零:

    if ($(this).children().length < 0) {
    
  • 希望这有帮助

    $(函数(){
    $(“.add”)。单击(函数(){
    var el=$(“移动框”);
    $(“.list”)。追加(el);
    });
    $('body')。在('click','remove',函数()上{
    $(this).closed(“.box”).remove();
    如果($('.remove')。长度==0){
    警报(“全部移除”);
    }
    });
    });
    
    
    添加
    
    div中没有元素时,其子元素的长度正好为0。您正在检查它是否小于0,这样该大小写就永远不会出现。
    $('.remove')。在('click')上,函数(){
    将不起作用,因为
    .remove
    元素是动态添加到页面的。。请注意解释。
    if ($('.remove').length == 0) {