1

これらの2つのパターンは異なる結果をもたらしますが、概念的には同じであると思います。1つ目は既存のものを更新するだけで、2つ目はsを順番<div>に追加します。<div>私は両方ともこの2番目のパターンで生じると予想しました。したがって、これら2つのパターンがDOMにアクセスして、結果を出す方法の違いに興味があります。

パターン1

$(document).ready( function () {
    var list = [
        'My','name','is','Jonas'
        ];

    $(list).each( function (key) {
        $("body").append("<div>").text(list[key]);
                  });
});​

http://jsfiddle.net/vtKEq/

パターン2

$(document).ready( function () {
    var list = [
        'My','name','is','Jonas'
        ];

    $(list).each( function (key) {
        $("<div />").text(list[key]).appendTo("body")
    });
});​

http://jsfiddle.net/MLFbw/

4

2 に答える 2

3

違いは

Pattern1テキストを追加divbodyてから変更しbodyます。
Pattern2div変更を作成してtextから、に追加しますbody

なぜそれが起こるのですか?
最初のパターンのセレクターはbodyであるため、使用するとテキストtextが変更さbodyれます。

直し方 ?

$("body").append("<div>" + list[key] + "</div>");
于 2012-12-13T19:20:56.663 に答える
2
$(document).ready( function () {
    var list = [
        'My','name','is','Jonas'
        ];

    $(list).each( function (key) {
        $("body").append($("<div>").text(list[key]));
                  });
});

同じように動作する最初のシナリオを考慮して、divを作成し、それをbodyに追加する必要があります

于 2012-12-13T19:22:26.650 に答える