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) {