Javascript 如何隐藏动态创建的div?

Javascript 如何隐藏动态创建的div?,javascript,jquery,Javascript,Jquery,我已经创建了一个脚本,它根据li元素的数量创建div,这部分工作正常。现在我想做的是隐藏这些动态创建的div,但它不起作用。有人能告诉我我做错了什么吗?谢谢!! 我的代码: $(document).ready(function(){ $(".create").click(function(){ i=''; var count = $("li").length; for(var i=0;i<count;i++){ $('<div class="mydiv" style="width:

我已经创建了一个脚本,它根据li元素的数量创建div,这部分工作正常。现在我想做的是隐藏这些动态创建的div,但它不起作用。有人能告诉我我做错了什么吗?谢谢!!

我的代码:

$(document).ready(function(){
$(".create").click(function(){
i='';
var count = $("li").length;
for(var i=0;i<count;i++){
$('<div class="mydiv" style="width:100px;height:100px;background-color:red;border:1px solid #000000;"></div>').appendTo('body');
}
});

$('.check').click(function(){
var getDivs= $('div').length;
alert(getDivs);
});
//Why is this not working?
$('div').click(function(){
$(this).hide();
});
});

请尝试执行此操作,并在创建div时附加click事件:

$('<div class="mydiv" style="width:100px;height:100px;background-color:red;border:1px solid #000000;"></div>')
.click(function(){
 $(this).hide();
})
.appendTo('body');

请尝试执行此操作,并在创建div时附加click事件:

$('<div class="mydiv" style="width:100px;height:100px;background-color:red;border:1px solid #000000;"></div>')
.click(function(){
 $(this).hide();
})
.appendTo('body');

所有这些代码都应该在jqueryready中。问题是您的事件在创建元素之前就被绑定了

$(document).ready(function(){
    $(".create").click(function(){
        i='';
        var count = $("li").length;

        for(var i=0;i<count;i++){
            $('<div class="mydiv" style="width:100px;height:100px;background-color:red;border:1px solid #000000;"></div>').appendTo('body');
        }
        $('.check').click(function(){
            var getDivs= $('div').length;
            alert(getDivs);
        });
        //Now working
        $('div').click(function(){
            $(this).hide();
        });
    });
});

所有这些代码都应该在jqueryready中。问题是您的事件在创建元素之前就被绑定了

$(document).ready(function(){
    $(".create").click(function(){
        i='';
        var count = $("li").length;

        for(var i=0;i<count;i++){
            $('<div class="mydiv" style="width:100px;height:100px;background-color:red;border:1px solid #000000;"></div>').appendTo('body');
        }
        $('.check').click(function(){
            var getDivs= $('div').length;
            alert(getDivs);
        });
        //Now working
        $('div').click(function(){
            $(this).hide();
        });
    });
});
试一试

试一试

这将隐藏您在页面上单击的每个div这将隐藏您在页面上单击的每个div