IE не понимает метод forEach

171
13 апреля 2019, 16:50

Использую маленький скрипт

var cards = document.querySelectorAll('.card');
 function transition() {
  if (this.classList.contains('active-card')) {
  this.classList.remove('active-card');
 } else {
  this.classList.add('active-card');
 }
 }
 cards.forEach(function (card) {return card.addEventListener('click', transition);});

Работает везде, кроме браузера IE, который ругается на метод forEach. Как это исправить? Читала, что можно написать полифилл, но не поняла, как его писать.

Answer 1

Проблема не в самом методе forEach, который вполне присутствует в IE.

А в методе forEach, который описан в коллекции, которую возвращает querySelectorAll. Как раз этот метод реализован еще не во всех браузерах.

Вместо него можно использовать обычный forEach, например так:

[].forEach.call(cards, function (card) {return card.addEventListener('click', transition);});
READ ALSO
Интеграция виджетов

Интеграция виджетов

У кого-нибудь имелся опыт интеграции виджетов: 1Textback - чат; 2

159
как проверить на отрицательное число

как проверить на отрицательное число

Помогите пожалуйста, как на JavaScript проверить отрицательное числоПри введение отрицательного число проверить в условии при строгом равенстве

172
Подскажите модульную систему js

Подскажите модульную систему js

Начал программировать на js, но опыта малоХотелось бы как на php иметь аналогию с классами

165