Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery只追加最后一项_Javascript_Jquery - Fatal编程技术网

Javascript jquery只追加最后一项

Javascript jquery只追加最后一项,javascript,jquery,Javascript,Jquery,我正在尝试使用jQuery将多个音频标记附加到文档正文中: $(function () { var a = $("<div/>").text("hello"); $("body").append(a); a.text("world"); $("body").append(a); }); $(函数(){ var a=$(“”)。text(“hello”); $(“正文”)。附加(a); a、 文本(“世界”); $(“正文”)。附加(a); });

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

$(function () {
    var a = $("<div/>").text("hello");
    $("body").append(a);
    a.text("world");
    $("body").append(a);
});
$(函数(){
var a=$(“”)。text(“hello”);
$(“正文”)。附加(a);
a、 文本(“世界”);
$(“正文”)。附加(a);
});

为什么不
var a被追加两次?我至少希望“world”出现两次(我知道我正在覆盖“hello”)。

这是因为
a
变量中的元素已经附加到
主体中,所以第二行不会引起任何更改

如果要附加两个元素,则需要手动创建第二个元素,或
克隆
第一个元素:

$(function () {
    var a = $("<div/>").text("hello");
    $("body").append(a);
    a.text("world");
    $("body").append(a.clone());
});
$(函数(){
var a=$(“”)。text(“hello”);
$(“正文”)。附加(a);
a、 文本(“世界”);
$(“body”).append(a.clone());
});

这是因为
a
变量中的元素已附加到
主体
,因此第二行不会引起任何更改

如果要附加两个元素,则需要手动创建第二个元素,或
克隆
第一个元素:

$(function () {
    var a = $("<div/>").text("hello");
    $("body").append(a);
    a.text("world");
    $("body").append(a.clone());
});
$(函数(){
var a=$(“”)。text(“hello”);
$(“正文”)。附加(a);
a、 文本(“世界”);
$(“body”).append(a.clone());
});

基本上,您已经从一个实例插入了一个div变量

示例:

你可以试着克隆它。。克隆()

$(函数(){
var a=$(“”)。text(“hello”);
$(“body”).append(a.clone());
a、 文本(“世界”);
$(“正文”)。附加(a);
}))


基本上,您已经从一个实例插入了一个div变量

示例:

你可以试着克隆它。。克隆()

$(函数(){
var a=$(“”)。text(“hello”);
$(“body”).append(a.clone());
a、 文本(“世界”);
$(“正文”)。附加(a);
}))


这可能更容易…

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

拉小提琴:

这可能更容易…

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

做了一把小提琴:

你也可以试试下面的代码

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

您也可以尝试以下代码

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

类似于:
a.clone(true).text(“world”).appendTo(“body”)--现在开始:那么jquery跟踪已经附加了哪些元素?它是否对此进行了缓存?@Mike_G否,它正在重复
追加
,但元素已经在您放置它的位置,因此似乎什么也没有发生。好吧,但是jQuery如何“知道”该元素已经追加?必须要有某种比较,对吗?啊,我明白你的意思。是的,jQuery跟踪DOM中的元素--现在开始:那么jquery跟踪已经附加了哪些元素?它是否对此进行了缓存?@Mike_G否,它正在重复
追加
,但元素已经在您放置它的位置,因此似乎什么也没有发生。好吧,但是jQuery如何“知道”该元素已经追加?必须要有某种比较,对吗?啊,我明白你的意思。是的,jQuery跟踪DOM中的元素。