如果我在Firebug中运行此代码,一切正常并且有效:
var ingarray =$(".ingsparts");
$.each(ingarray ,function(n){
var ing = ingarray[n];
console.log($(ing).find('.name').val());
console.log($(ing).find('.value').val())
});
但是,如果我运行它,它不起作用:
var ingarray =$(".ingsparts");
$.each(ingarray ,function(n){
var ing = ingarray[n];
var in = $(ing).find('.name').val();
var ms = $(ing).find('.value').val();
});
答案 0 :(得分:5)
似乎in
是保留字;使用另一个变量名。
答案 1 :(得分:3)
in
是Javascript(see here for more info)中的保留字,您必须重命名此变量。
答案 2 :(得分:1)
是的,不要使用变量名称,但是,你的每一个都可以更简单地完成:
var ingarray = $(".ingsparts");
ingarray.each(function(){
var name = $(this).find('.name').val();
var value = $(this).find('.value').val();
...
});
答案 3 :(得分:0)
第二个示例定义函数内的in和ms变量。这意味着它们获得了函数范围,并且在函数外部不可用。所以变量已设置,但从未使用过,也没有被访问过。