问答详情
源自:3-2 DOM外部插入after()与before()

$(".test1").before($('h2')) 新增内容为H2的时候,为什么会将初始的H2删除,点“after”按钮后又会将“before”按钮新增的H2删除

<!DOCTYPE html>

<html>

<head>

    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />

    <title></title>

    <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>

    <style>

    .aaron{        border: 1px solid red;    }

    </style>

</head><body>

    <h2>通过before与after添加元素</h2>

    <button id="bt1">点击通过jQuery的before添加元素</button>

    <button id="bt2">点击通过jQuery的after添加元素</button>

    <div class="aaron">

        <p class="test1">测试before</p>

    </div>

    <div class="aaron">

        <p class="test2">测试after</p>

    </div>

    <script type="text/javascript">

    $("#bt1").on('click', function() {

        //在匹配test1元素集合中的每个元素前面插入p元素

        $(".test1").before($('h2'))

    })

    </script>

    <script type="text/javascript">

    $("#bt2").on('click', function() {

        //在匹配test1元素集合中的每个元素后面插入p元素

        $(".test2").after($("h2"))

    })

    </script>

</body>


提问者:壹贰叁肆伍 2019-02-21 09:50

个回答

  • 慕慕哒6103098
    2019-08-06 17:51:33

    如果你使用页面已有的dom的话,就只相当于搬运,而不是生成新的节点

  • Zoopen
    2019-02-21 17:05:51

     $(".test1").before($('h2'))和 $(".test2").after($("h2"))中的$('h2')改成$('<h2>nihao</h2>')就好了