Вероятно, самым важным фактором для этого вопроса является то, что я сейчас очень сонлив.
У меня есть массив, который я запускаю:
var cells = [];
Затем я поместил в него некоторые значения (объекты jQuery), например:
$("td").each(function () {
var td = $(this);
cells[td.attr("id")] = td;
});
А теперь моя проблема. Этот код:
$(cells).each(function (i) {
console.log(this) // firebug console
});
logs абсолютно ничего. Когда я изменил ассоциативный массив на нормальный, индекс числа один, заменив
cells[td.attr("id")] = td;
с
cells.push(td);
Он работал правильно.
Кроме того, когда я пытаюсь выполнить итерацию с циклом for..in, он работает так, как ожидалось.
for (var cell in cells) {
console.log(cells[cell]);
}
Doeas означает, что метод jQuery.each не принимает ассоциативные массивы или я что-то не так делаю?