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,尽管从代码中我们可以看到,情况可能并非如此。