javascript数组/object.push不工作
输入: 输出:javascript数组/object.push不工作,javascript,arrays,Javascript,Arrays,输入: 输出: var variants = []; $("div.product[data-variant]").each(function() { variants = [{name:chocolate, url:http://urltochocolate.de; }); $。每个(选项列表、函数(i、el){ 附加(“”+el.name+“”); }); 上面的版本可以工作,但是如果我想通过添加variants.push保存所有变体,而不仅仅是最后一个变体,那么它将无法工作。我
var variants = [];
$("div.product[data-variant]").each(function() {
variants = [{name:chocolate, url:http://urltochocolate.de;
});
$。每个(选项列表、函数(i、el){
附加(“”+el.name+“”);
});
上面的版本可以工作,但是如果我想通过添加variants.push保存所有变体,而不仅仅是最后一个变体,那么它将无法工作。我知道push是一个数组函数,但它如何适用于JS对象?或者,推送是否起作用,但我使用了错误的输出函数
感谢您的任何帮助,这不会如此困难,只是看不到解决方案:(
编辑:
这不是缺少的引号,因为巧克力和url只是jQuery选择器的占位符
$.each(optionList, function (i, el) {
combo.append('<option value="'+ el.url +'">' + el.name + "</option>");
});
请尝试variants.push({name:x,url:y});添加上面描述的push不会产生任何结果variants.lenght也是0;这意味着您的数据选择器错误try$('div.product:data(variant)')这里我只是在循环中的name和url中提供了新值,而您在代码中给出了相同的值。这是不同之处。:-)
var variants = [];
$("div.product[data-variant]").each(function() {
var name='name';
var url='url';
variants.push({name:name, url: url});
});
You are missing quotes in your json string.
Try like this.
var variants = [];
$("div.product[data-variant]").each(function() {
variants.push([{name:'chocolate', url:'http://urltochocolate.de'}])
});