jQuery.each()构建一组jQuery对象,追加到后面

时间:2013-03-28 23:52:29

标签: jquery append each

我希望在.append()之后运行一个.each()以提高效率。我试图构建我的对象集,它不会运行。它类似于这个问题,除了我正在构建一个jQuery对象而不是字符串。

JQuery append to select with an array

HTML

<select></select>

的jQuery

var items = ['apple','pear','taco','orange'],
    options = '';

jQuery.each(items, function(i, fruit){
    options += jQuery('<option/>', {
        value: fruit,
        text: fruit
    });
}); //added missing ');'

jQuery('select').append(options);

2 个答案:

答案 0 :(得分:1)

它需要成为一个对象吗?为什么不只是附加到一个字符串,然后追加该字符串?

$.each(items, function(i,fruit){
    options += "<option value='"+fruit+"'>"+fruit+"</option>";
});

答案 1 :(得分:0)

您不应该连接对象,您的代码会导致[object Object][object Object]..。此外,您仍然缺少)关闭each方法。

$.each(items, function (i, fruit) {
    options += '<option value=' + fruit + '>' + fruit + '</option>';
});

$('select').append(options);

http://jsfiddle.net/NxB6Z/

更新

var items = ['apple', 'pear', 'taco', 'orange'],
    options = [];

jQuery.each(items, function (i, fruit) {
    options.push($('<option/>', {
        value: fruit,
        text: fruit
    }));
});

jQuery('select').append(options);

http://jsfiddle.net/HyzWG/