使用jQuery迭代变量不起作用

时间:2012-08-10 16:07:30

标签: javascript jquery

我将此变量设置在页面setVars = {"n":"2","m":"1","degree":"3","p":"2"}

的顶部

我想迭代setVars中的每个元素,但jquery的each()函数不起作用。

这就是我所拥有的 -

$(setVars).each(function(key, value) {
  elementId = '#' + key+ '-wrapper';
}

但是key在第一次迭代时设置为0,并且value由于某种原因设置为完整的setVars对象。它没有进行第二次迭代,当我逐步完成并尝试进入第二次迭代时,它会中断。

3 个答案:

答案 0 :(得分:2)

应该像我根据http://api.jquery.com/jQuery.each/

那样相信
$.each(setVars, function(key, value) {
  elementId = '#' + key+ '-wrapper';
});

setVars不是DOM元素的集合,它是一个对象

答案 1 :(得分:1)

您使用.each() that's meant for iterating through jQuery objects代替$.each() that's meant for iterating through objects and arrays。试试这个:

$.each( setVars, function(key, value) {
  elementId = '#' + key+ '-wrapper';
});

答案 2 :(得分:1)

你不需要JQuery。此外,我可能是错的,但你不希望在你永远看不到的对象属性名称周围引用:

setVars = {n:"2",m:"1",degree:"3",p:"2"}

并且

for(i in setVars){
   console.log("key: ",i," value: ", setVars[i]); // demonstration of how to access key and value
   elementId = '#' + i + '-wrapper';
}