次のようなオブジェクトがあるとします。
var users = ['user1', 'user2'];
このオブジェクトの場合、次のようなスパンのリストを作成したいと思います:
"<span>user1</span><span>user2</span>"
私は次のコードを試しました
$('<span/>').text(users);
しかし、それは適切に機能しません。何かアイデアはありますか?
次のようなオブジェクトがあるとします。
var users = ['user1', 'user2'];
このオブジェクトの場合、次のようなスパンのリストを作成したいと思います:
"<span>user1</span><span>user2</span>"
私は次のコードを試しました
$('<span/>').text(users);
しかし、それは適切に機能しません。何かアイデアはありますか?
これはうまくいきます:
var users = ['user1', 'user2'];
$.each(users, function() {
$("<span>", { text : this }).appendTo("body");
});
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;
}
);
users
文字列のみを含める必要があると仮定して、これを試してください:
var users = ['user1', 'user2'];
for (var i = 0; i < users.length; i++) {
$("<span />").text(users[i]).appendTo("body");
};