问答详情
源自:4-4 DOM节点删除之保留数据的删除操作detach()

$("body").append(p); 这个append里面的p为什么没有加引号

    <script type="text/javascript">

    $('p').click(function(e) {

        alert(e.target.innerHTML)

    })

    var p;

    $("#bt1").click(function() {

        if (!$("p").length) return; //去重

        //通过detach方法删除元素

        //只是页面不可见,但是这个节点还是保存在内存中

        //数据与事件都不会丢失

        p = $("p").detach()

    });


    $("#bt2").click(function() {

        //把p元素在添加到页面中

        //事件还是存在

        $("body").append(p);

    });

    </script>


$("#bt2").click(function() {

        //把p元素在添加到页面中

        //事件还是存在

        $("body").append(p); 这个地方的p是上面定义的p(p = $("p").detach())吗?

    });


提问者:qq_苍蓝猛兽_03601749 2016-08-10 19:08

个回答

  • biyao
    2016-08-12 12:21:48

    p是变量,所以不需要加。

    如果是P元素就需要加



  • 不如怀念o
    2016-08-11 10:44:35

    通常没有加单双引号的很可能是变量,加了单双引号的才是字符串。

  • 墨_玉
    2016-08-10 20:08:04

    我觉得是的,这个p是移除的 

    <p>元素p1,同时绑定点击事件</p>

    <p>元素p2,同时绑定点击事件</p>

    这两个p标签。

  • tOofu
    2016-08-10 20:06:00

     $("body").append(p);  里的p对象就是前面的那个 p = $("p").detach()  吧

  • 加油脚脚
    2016-08-10 19:59:36

    p是定义的那个变量,所以不加引号