使用其类名隐藏动态创建的div

时间:2012-10-12 07:24:09

标签: jquery html

我通过递增他们的类名来动态创建div。现在我在div的右上角有一个关闭按钮,当我点击关闭按钮时,我想要隐藏一个特定的div。

代码:

var i=1;
var newImageBoxdiv = $(document.createElement('div')).attr({ class:"demo"+i, id:"image"});
newImageBoxdiv.innerHTML = "<img id='MyImage' />";   
newImageBoxdiv.insertAfter('.demo');
i++;
$('#CloseWindow').click(function(){
?????
});

每次我创建一个div。我得到它的类名为demo1,demo2 ......等等。我应该在#CloseWindow函数中写什么来隐藏我想要的div?

3 个答案:

答案 0 :(得分:0)

$(divSelector).hide()将隐藏所选元素

$(divSelector).show()将显示所选元素

$(divSelector).toggle()将在所选元素上显示/隐藏

希望这能帮到你!

答案 1 :(得分:0)

您必须添加.live()函数以确保点击绑定在动态生成的内容上发生。

$('#CloseWindow').live('click', function(){ 
    $(divSelector).hide();
});

答案 2 :(得分:0)

首先,当你创建div时,我会在id上使用增量器,而不是类,因为id是唯一的:

var newdiv = $('div id="demo' + i + '" class="demo">')

其次,你需要跳过imagetag中的id,或者在那里使用相同的逻辑,因为你得到了很多我假设的div。

newdiv.append($('<img class="myimage" />')); //this will add myimage to end of newdiv

现在在关闭窗口中,您可以使用classname关闭。

$('#closewindow').click(function(){
    $('.demo').hide();
});