2

各リストアイテム「div.title」のオンロードをキャッシュしてデタッチしたいと思います。

クリック機能(view1またはview2)に応じて、「div.title」が正しいリスト項目に再度追加されます。

現在の試み: http: //jsfiddle.net/nolfranklin/KxXcd/7/(すべてのタイトルが最後のリストアイテムに追加されています)

<code>

    <!-- list items -->

    <li class="item-1">
        <img src="image.jpg" />
        <div class="title">Theme One</div>
    </li>
    <li class="item-2">
        <img src="image.jpg" />
        <div class="title">Theme Two</div>
    </li>

/* Cache list items .title */

var title = $('ul').find('.title').detach();

$('a').click(function() {

        // Reattach title to each list item.

        $('ul li').each(function() {
            $(title).appendTo(this);
        });

});

</code>
4

2 に答える 2

2

これを試して

$('a').click(function() {

    // Reattach title to each list item.

    $('ul li').each(function(i) {
        $(this).append(title[i]);
    });

});

フィドルをチェック

ここでのタイトルには、liの最後にobjectListを追加する2つのjQueryオブジェクトが含まれています。

liに付けるタイトルを繰り返す必要があります。

于 2013-02-05T02:28:47.710 に答える
0

.detachすべての要素を同時に切り離し、コレクションに保存します。

[index]コレクションから特定のインデックスを取得するには、角かっこや.get:などのいくつかの方法があります。

$('ul li').each(function() {
    $(title.get($(this).index())).appendTo(this);
});

http://jsfiddle.net/ExplosionPIlls/KxXcd/12/

于 2013-02-05T02:30:45.090 に答える