【发布时间】:2012-10-12 22:41:45
【问题描述】:
我正在尝试动态创建 div 并显示它们。当我尝试隐藏创建的 div 时,//First 函数运行良好,但这不是我想要的。我正在定义一个关闭按钮,我希望在单击关闭按钮时隐藏 div。在运行//Second 函数时,单击父div 后,它会隐藏其所有子div。 IE。当我点击第一个 div 时,它会隐藏之后调用的所有 div。
代码:
var newImageBoxdiv = $(document.createElement('div')).attr({ class:"demo"+i, id:"image"});
newImageBoxdiv.html("<img id='MyImage' src='"+d+"'><div class='ImageWindowCloseButton' ></div>");
newImageBoxdiv.insertAfter('.demo');
$('#image').show();
i++;
//First Function
$('#image').click(function(event){ //Works Perfect
$(newImageBoxdiv).hide();
event.stopPropagation();
event.cancelBubble = true;
});
//Second function
$('.ImageWindowCloseButton').click(function(event){ // Deletes Child element when clicked on parent
$(newImageBoxdiv).hide();
event.stopPropagation();
event.cancelBubble = true;
});
【问题讨论】:
-
如果里面有子元素,点击后隐藏是正确的。我在这里误解了什么吗?您是否正在使用该类名创建其他 div?
标签: javascript jquery html