0

jQuery変数に追加することは可能ですか?

このようなもの$($tnail).appendTo($collection);

コストのかかる DOM の変更を最適化する必要があり、一度にすべて実行したい。

このようなもの:

    var $collection;

 $.each(items, function (i, item) {

        var $tnail = $("<div></div>");

        $($tnail).appendTo($collection);

    });

    $($collection).appendTo("#Container");
4

2 に答える 2

1

はい!$collectionjQuery オブジェクトであることを確認する必要があります。

var $collection = $('<x/>');

$.each(items, function (i, item) {

    var $tnail = $("<div></div>");

    $tnail.appendTo($collection);

});

$($collection.html()).appendTo("#Container");

また、新しい jQuery 呼び出しで jQuery オブジェクトをラップする 2 つのビットもあります。これ$tnailは、既に jQuery でラップされた div であるため、既にappendToメソッドを持っています。さらなるパフォーマンス上の利点!

編集:ケビンが指摘するように、空の jQuery オブジェクトに追加することはできません。内部的には、jQuery は空のドキュメント フラグメントを使用しますが、API を通じてこれを公開しません。そのため、ソリューションを変更してダミー要素を作成し、その内容のみを に追加しました#Container

于 2013-03-27T18:04:04.100 に答える
1

実際には要素を $collection に追加するのではなく、追加したいのです。

var $collection = $(); // must be a jquery object
$.each(items, function (i, item) {

    var $tnail = $("<div></div>");

    // add to collection
    $collection.add($tnail);

});
于 2013-03-27T18:07:32.027 に答える