1

我在页面顶部设置了这个变量setVars = {"n":"2","m":"1","degree":"3","p":"2"}

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

这就是我所拥有的 -

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

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

4

3 回答 3

2

根据这个http://api.jquery.com/jQuery.each/应该是我相信的

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

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

于 2012-08-10T16:10:50.930 回答
1

您使用.each()的是用于迭代 jQuery 对象,而不是$.each()用于迭代对象和数组。试试这个:

$.each( setVars, function(key, value) {
  elementId = '#' + key+ '-wrapper';
});
于 2012-08-10T16:11:00.147 回答
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';
}
于 2012-08-10T16:11:55.873 回答