日期:2014-05-16  浏览次数:20308 次

使用JS动态添加元素和移除元素
HTML代码:

<div id="ddd">
    <div class="div1" >
        <div class="div2">
            <div class="div3">
                <a>文本1</a>
            </div>
            <div class="div3">
                <button class="button1">删除</button>
            </div>
        </div>
        <div class="div2">
            <div class="div3">
                <a>文本2</a>
            </div>
            <div class="div3">
                <button class="button1">删除</button>
            </div>
        </div>        
<div>      
<button class="add">添加div</button>

JS代码:

<script type="text/javascript">
    //添加div
    $(".add").click(function () {
        var div = '<div class="div2"><div class="div3">自动添加的文本</div>' +
                      '<div class="commondivremove"><button class="button1">删除</button></div></div>';
        $("#ddd").append(div);
    });
    //移除div
    $("#ddd").on('click', 'button[class="button1"]', function () {
        $("#ddd").remove();
    });
</script>

问题:添加div可以成功,但是移除div总是无法成功??在console中测试是可以找到筛选后button(原先的和动态添加的),可是为什么on事件无法成功呢??
 $("#ddd button[class='button1']"

补充:当然,我的目的是删选特定的div,但是参数比较多,我不一一列出,就当是要移除所有子div的效果,希望有大神帮忙解答。
------解决方案--------------------
删除相应的div,你的有问题吗?貌似把整个最外层删掉了

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>