开发者社区> 问答> 正文

为何多次append jQuery对象只有一个dom节点

为何必须得clone才能把对象append到dom中
而直接append只能出现一个dom节点,如下

var obj = "<div>对象</div>";
var $obj = $(obj);
$(obj).appendTo($(".xx"));

展开
收起
小旋风柴进 2016-05-31 09:41:49 2100 0
1 条回答
写回答
取消 提交回答
  • 问题在于 appendTo() 或者 append() 方法都是移动 DOM 对象,而不是将 DOM 对象复制到你指定的那个地方。

    比如下面这样的 HTML 结构:
    `


    `
    执行这样的 jQuery 脚本:
    var $a = $("#a"),
        $b = $("#b"),
        $p = $("p");
        
    $p.appendTo($a);

    HTML 结构就变成了:

    `


    `
    再执行这样的脚本:

    $p.appendTo($b);
    HTML 结构就变成了:

    <div id = "a"></div>
    <div id = "b"><p></p></div>

    也就是说,如果你想出现多个

    标签,要么生成多个

    元素,要么克隆多个。

    直接用 append() 与 appendTo() 方法,如你所见,达不到你想要的效果。

    2019-07-17 19:21:19
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载