jquery只附加最后一项

时间:2013-11-14 13:58:32

标签: javascript jquery

我正在尝试使用jQuery将多个音频标记附加到文档正文:

$(function () {
    var a = $("<div/>").text("hello");
    $("body").append(a);
    a.text("world");
    $("body").append(a);
});

为什么var a;不会被追加两次?我至少会期待“世界”出现两次(我明白我会覆盖“你好”)。

4 个答案:

答案 0 :(得分:3)

这是因为a变量中的元素已经附加到body,因此第二行不会导致更改。

如果你想要追加两个元素,你需要手动创建第二个元素,或者clone第一个元素:

$(function () {
    var a = $("<div/>").text("hello");
    $("body").append(a);
    a.text("world");
    $("body").append(a.clone());
});

答案 1 :(得分:1)

基本上你已经从一个实例中插入了一个变量

示例: http://jsfiddle.net/kdKV8/4/

你可以尝试克隆它..克隆()

$(function () {
    var a = $("<div/>").text("hello");
    $("body").append(a.clone());
    a.text("world");
    $("body").append(a);

});

<强> http://api.jquery.com/clone/

答案 2 :(得分:0)

这可能更容易......

$('body').append($('<div/>').text('Hello'), $('<div/>').text('World'));

做了一个小提琴:http://jsfiddle.net/filever10/Hh9hq/

答案 3 :(得分:0)

你也可以尝试下面的代码

$(function () {
        $("body").append($("<div/>").text("hello"));
        $("body").append($("<div/>").text("world"));
    });