将DOM DIV附加到jQuery动态创建的DIV

时间:2014-02-14 18:13:05

标签: jquery css dom

我已经通过JQuery创建了一个新的DIV。现在我想把一个现有的div放到我动态创建的div中。我目前的解决方案无效。

$(".body").append("<div id='new'></div>", function(){
            $("#old").appendTo("#new");
        });

我是否无法将非动态div设置为动态div的子项?

由于

4 个答案:

答案 0 :(得分:1)

试试这个

$("<div/>", { id: "new" }).appendTo("body");

$("#old").appendTo("#new");

答案 1 :(得分:0)

您没有正确引用“新”div。我建议从实际的id中删除哈希,然后执行此操作:

$("body").append("<div id='new'></div>");
$("#old").appendTo( $("#new") );

如果您愿意,可以将哈希留在那里,但是,除非您使用HTML5,否则ID不能以特殊字符开头。

编辑:你不应该使用回调,你需要消除'。'来自'body',因为它不是一个类,除非你创建了一个。 http://jsfiddle.net/ZDFg4/

答案 2 :(得分:0)

您正在使用.append( content [, content ] )

$(".body").append("<div id='new'></div>", function(){
    $("#old").appendTo( $("#new") );
});

所以内容被追加到没有函数被调用。 请参阅Fiddle Demo


您可以使用.append( function(index, html) )

Working Demo

$(".body").append(function () {
    return $("<div/>", {
        id: "new"
    }).append($("#old"));
});

答案 3 :(得分:0)

首先你是故意使用.body还是想要追加到

其次你正在使用id =“#new”,它应该只是id =“new”

第三,阅读.append()文档,了解如何使用它。

第四,你需要.html()

现在试试这个。

$("body").append("<div id='new'></div>");
$("#new").append($('#old'));