3

を使用し$("#set .item").clone().appendTo(".container")てクローンできます:

<div style='display:none' id='set'>
    <div class='item' >
        <img class='avatar' src="http://placekitten.com/80/80" />
        <div class='box' data-id='foo'></div>
    </div>
</div>

そしてそれをコンテナに追加します。

もちろん、複数のオブジェクトを複製して追加すると、そのcloneコピーが作成されます。#set .item

for( var i=0; i<3; i++) {
    $("#set .item").clone().appendTo(".container");
}

data-各クローンに異なる属性を割り当てるにはどうすればよいですか?

ここにフィドルがあります

4

2 に答える 2

2

これを試して:

$(document).ready(function () {
    for (var i = 0; i < 3; i++) {
        var cln = $("#set .item").clone();
        cln.find('.box').attr('data-id', 'foo_' + i);
        cln.appendTo(".container");
    }
    $('.item .box').text(function(){return $(this).attr('data-id')});
});

デモはこちら

ワンライナーを使用する場合は、これを使用します。

$("#set .item").clone().find('.box').attr('data-id', 'foo_' + i).end().appendTo(".container");

jQuery には、このための特別なメソッドもあります。.data() の詳細については、こちらをご覧ください

于 2013-10-17T23:21:29.463 に答える
0

Well you simply do something like this.

for( var i=0; i<3; i++) {
    $("#set .item").clone().attr('clone-id', i).appendTo(".container");
}
于 2013-10-17T23:03:02.057 に答える