首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用jQuery .each迭代关联数组

使用jQuery .each迭代关联数组
EN

Stack Overflow用户
提问于 2011-10-06 16:15:21
回答 2查看 15.7K关注 0票数 16

这个问题最主要的原因可能是我现在非常困倦。

我有一个数组,它是我发起的:

var cells = [];

然后我在其中放入一些值(jQuery对象),例如:

$("td").each(function () {
  var td = $(this);
  cells[td.attr("id")] = td;
});

现在我的问题来了。这段代码:

$(cells).each(function (i) {
  console.log(this) // firebug console
});

什么日志都没有。当我将关联数组更改为正常数组时,通过替换

cells[td.attr("id")] = td;

使用

cells.push(td);

它工作正常。

此外,当我尝试使用for..in循环进行迭代时,它也会按预期工作。

for (var cell in cells) {
  console.log(cells[cell]);
}

这是不是意味着jQuery的.each方法不接受关联数组,或者我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2011-10-06 16:21:53

您似乎认为Javascript的数组是关联的,但事实并非如此。您可能正在寻找对象(或散列):

var cells = {};         // Not [].
$("td").each(function() {
    var td = $(this);
    cells[td.attr("id")] = td;
});

$.each(cells, function() {
    console.log(this);  // This should work as expected.
});
票数 9
EN

Stack Overflow用户

发布于 2011-10-06 16:21:47

使用$.each(cells, function(i) { ... })而不是$(cells).each(function...)

$.each()函数与$(selector).each函数不同。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7671727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档