Javascript 删除动态创建的内部选定div
我一直在四处寻找,但还没有找到解决办法。 我的代码是这样的:Javascript 删除动态创建的内部选定div,javascript,jquery,html,Javascript,Jquery,Html,我一直在四处寻找,但还没有找到解决办法。 我的代码是这样的: $('#addDiv').click( function() { var divNum = divNum + 1; var newdiv = document.createElement('div'); var divIdName = 'mydiv'; newdiv.setAttribute('id',divIdName+divNum);
$('#addDiv').click( function() {
var divNum = divNum + 1;
var newdiv = document.createElement('div');
var divIdName = 'mydiv';
newdiv.setAttribute('id',divIdName+divNum);
newdiv.className = 'imgDiv';
});
$('#cont-div').on('click', function(e) {
//REMOVE clicked div
});
我有一个名为“contdiv”的div,其中包含动态创建的div。
可能解决方案非常简单,但我无法找到一种方法来识别“cont div”中单击的div,以便将其删除。Hmmm,您的代码意味着您可能有多个具有相同ID的元素。别那样做,那会让事情变得更难。只需使用您设置的类:
$('#cont-div div').on('click', function(e) {
var clickedDiv = e.target;
if(clickedDiv != e.currentTarget)
{
//Remove the clicked div if it is not the parent.
$(this).remove();
}
});
$('.imgDiv').on('click', function() {
$(this).remove();
});
您可以使用事件委派,因为
div
s是动态创建的:
$('#cont-div').on('click', 'div', function(e) {
//REMOVE clicked div
$(this).remove();
});
可以使用jquery remove()删除元素。此外,您还需要一个委托来简单地处理动态插入元素上的事件
Html:
<input id="addDiv" type="button" value="click!" />
$(function(){
$('body').on('click','.imgDiv',function(){
$(this).remove();
});
});
编辑:缩短了代码片段,现在只显示相关部分。关于
id
s的一点很好。代码的目的似乎是生成唯一的id
s,尽管从代码中我们可以看到,情况可能并非如此。