Фореат на массиве элементов DOM не удается с «невозможно прочитать свойства неопределенных», но для цикла работает - почJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Фореат на массиве элементов DOM не удается с «невозможно прочитать свойства неопределенных», но для цикла работает - поч

Сообщение Anonymous »

Я пытаюсь прикрепить слушателей событий к двум подобным элементам Dom (оба элемента существуют): < /p>

Код: Выделить всё

const signout = document.getElementById('logout');
const signoutMobile = document.getElementById('logout-mobile');

[signout, signoutMobile].forEach(el => {
if (el) {
el.addEventListener('click', async () => {
await logout();
});
}
});

async function logout() {
// fetch logic
}
< /code>
Тем не менее, это бросает ошибку в консоли браузера: < /p>
Uncaught TypeError: Cannot read properties of undefined (reading 'logout-mobile')
< /code>
Но когда я переписываю ту же логику, используя цикл для цикла, он работает отлично: < /p>
const elements = [signout, signoutMobile];
for (let i = 0; i < elements.length; i++) {
const el = elements[i];
if (el) {
el.addEventListener('click', async () => {
await logout();
});
}
}
Почему подход .foreach () бросает ошибку, в то время как цикл для работает нормально? />
  • logout declaration, 2)forEach
[*]
  • for, 2) logout declaration
[*]
  • logout declaration, 2) for

Doesn't work:

[*]
  • forEach, 2) logout declaration
< /ul>
Дополнительная информация: < /h3>

Оба фрагмента помещаются в один и тот же файл скрипта. /> Элементы с идентификаторов и идентификаторов и мобильными входами существуют в Dom. < /li>
Функция журнала объявлена ​​и работает должным образом.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -undefined
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»