#javascript #jquery
#javascript #jquery
Вопрос:
Я пытаюсь сохранить некоторую информацию DOM в массиве, чтобы я мог использовать ее в другом месте.
Это работает, если я использую переменную, но если я пытаюсь использовать массив, я получаю сообщение об ошибке «Arrayname не является функцией»? Я не уверен, почему это будет работать в переменной, а не в массиве.
Это код, который я запускаю:
function testmove(total) {
for (var x=1; x<=total; x ) {
allstore(x) = jQuery('#block-views-items-block .views-row-1').children('div');
x ;
}
}
Это работает:
function testmove(total) {
store1 = jQuery('#block-views-items-block .views-row-1').children('div');
}
Я что-то упускаю / делаю что-то не так здесь?
Комментарии:
1. дело в том, что iexplore все еще поддерживает этот синтаксис (вплоть до версии 11). почему? какая это была версия ecmascript?
Ответ №1:
Если allStore
это массив, вы должны использовать его следующим образом:
allStore[x]
Комментарии:
1. ha! боже мой, какой полный идиот. Что ж, это повод пойти и напиться вместо того, чтобы «быстро» исправить мой код в пятницу вечером. спасибо всем!
Ответ №2:
Вам придется использовать квадратные скобки, если вы хотите сослаться на массив:
allstore[x] = ...
Дополнительную документацию по массивам JavaScript см. в MDN: Array.
Ответ №3:
Вам нужно использовать квадратные скобки для ссылки на индекс массива, подобный этому:
allstore[x] = jQuery('#block-views-items-block .views-row-1').children('div');
Или, если вы не ищете определенный индекс, вы можете использовать Push-метод JavaScript следующим образом:
allstore.push(jQuery('#block-views-items-block .views-row-1').children('div'));
Ответ №4:
Вы используете неправильные виды фигурных скобок; вам следует использовать квадратные скобки вместо круглых при доступе к элементам массива по индексу или ключу:
allstore[x]