5

このループ(jsfiddle<span>を参照)は、コンテナにタグを5回追加しようとします。しかし、それは一度だけです。なんで?

var myArr = [0,1,2,3,4];
var $span= $('<span></span>');
for (var i = 0; i < (myArr.length); i++) {
    $('.contain').append($span);
}
4

1 に答える 1

7

問題は、同じ要素を複数回追加していることです。要素のクローンを作成してからを
使用します。cloneappend

$('.contain').append($span.clone());

デモ

更新

このようにして、要素をカスタマイズしてから、すべてのプロパティで複製することができます。

var $span = $('<span/>', {
                    'class': 'someClass otherClass',
                    'css': {
                         'background-color': '#FF0000'
                     }
            });
for (var i = 0; i < (myArr.length); i++) {
    $('.contain').append($span.clone());
}

demo2

Update2このコメントによると。

$('.contain').append('<span class="yourClass"/>');

于 2012-10-10T00:53:09.523 に答える