3

次のようなオブジェクトがあるとします。

var users = ['user1', 'user2'];

このオブジェクトの場合、次のようなスパンのリストを作成したいと思います:

"<span>user1</span><span>user2</span>"

私は次のコードを試しました

$('<span/>').text(users); 

しかし、それは適切に機能しません。何かアイデアはありますか?

4

3 に答える 3

8

これはうまくいきます:

var users = ['user1', 'user2'];

$.each(users, function() {
    $("<span>", { text : this }).appendTo("body");
});
于 2012-08-29T07:58:09.480 に答える
2

Array.map次の方法も使用できます。

['user1', 'user2'].map(
    function(a){
        $('<span/>').html(a).appendTo($('body')); return a;
    }
);

またはさらに短い:

$(['user1','user2'].map(function(a){return '<span>'+a+'</span>'}).join(''))
 .appendTo('body');

またはさえArray.filter;)

['user1', 'user2'].filter(
    function(a){
        $('<span/>').html(a).appendTo($('body')); return true;
    }
);

またはjQuery.each、Array から派生した jQuery オブジェクトで

$(['user1', 'user2']).each(
    function(i,a){
        $('<span/>').html(a).appendTo($('body')); return true;
    }
);
于 2012-08-29T08:01:49.247 に答える
2

users文字列のみを含める必要があると仮定して、これを試してください:

var users = ['user1', 'user2'];
for (var i = 0; i < users.length; i++) {
    $("<span />").text(users[i]).appendTo("body");
};

フィドルの例

于 2012-08-29T07:58:50.060 に答える