Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.06.2020, 11:12
Аспирант
Отправить личное сообщение для TheSanches Посмотреть профиль Найти все сообщения от TheSanches
 
Регистрация: 21.01.2018
Сообщений: 78

преобразовать ES6 в ES5
Здравствуйте, подскажите пожалуйста, как переписать данный код на ES5, спасибо.

const newTab = document.getElementsByClassName('new-tab'),
  navTabs = document.getElementsByClassName('new-li');

for (let i = 0; i < navTabs.length; i++) {
  for (let j = 0; j < newTab.length; j++) {
    navTabs[i].addEventListener('click', function () {
      newTab[j].classList.remove('new-tab_active');
      newTab[i].classList.add('new-tab_active');
    });
  }
}
Ответить с цитированием
  #2 (permalink)  
Старый 15.06.2020, 11:16
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Поменять const и let на var.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 15.06.2020, 11:17
Аспирант
Отправить личное сообщение для TheSanches Посмотреть профиль Найти все сообщения от TheSanches
 
Регистрация: 21.01.2018
Сообщений: 78

Сообщение от Aetae Посмотреть сообщение
Поменять const и let на var.
И перестает все работать
Ответить с цитированием
  #4 (permalink)  
Старый 15.06.2020, 11:24
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

А, ну да, классика.
var newTab = document.getElementsByClassName('new-tab'),
      navTabs = document.getElementsByClassName('new-li');

for (var i = 0; i < navTabs.length; i++) {
  for (var j = 0; j < newTab.length; j++) {
    (function(i, j) {
      navTabs[i].addEventListener('click', function () {
        newTab[j].classList.remove('new-tab_active');
        newTab[i].classList.add('new-tab_active');
      });
    }(i, j));
  }
}

Но вообще так делать в принципе не надо, это крайне не надёжно - опираться на индекс в динамической коллекции.
__________________
29375, 35

Последний раз редактировалось Aetae, 15.06.2020 в 11:33.
Ответить с цитированием
  #5 (permalink)  
Старый 15.06.2020, 11:31
Аспирант
Отправить личное сообщение для TheSanches Посмотреть профиль Найти все сообщения от TheSanches
 
Регистрация: 21.01.2018
Сообщений: 78

Сообщение от Aetae Посмотреть сообщение
А, ну да, классика.
var newTab = document.getElementsByClassName('new-tab'),
      navTabs = document.getElementsByClassName('new-li');

for (var i = 0; i < navTabs.length; i++) {
  for (var j = 0; j < newTab.length; j++) {
    (function(i, j) {
      navTabs[i].addEventListener('click', function () {
        newTab[j].classList.remove('new-tab_active');
        newTab[i].classList.add('new-tab_active');
      });
    }(i, j));
  }
}

Но вообще так делать в принципе не надо, это крайне на надёжно - опираться на индекс в динамической коллекции.
Спасибо, работает)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать этот конструктор ES6 в класический JS? Вручную без Babel? nathan111777 Общие вопросы Javascript 3 19.06.2019 16:51
Стоит ли сегодня писать js для браузера на ES6? Henocra Общие вопросы Javascript 0 24.02.2019 14:36
Как преобразовать массив объектов в массив массивов sovsem-nub Events/DOM/Window 4 12.05.2018 21:56
Сколько клиентов будет потеряно, если полностью перейти на es6? scrollquest Общие вопросы Javascript 3 21.08.2016 13:32
webpack Uglify и es6 kuzroman Сборка проекта, утилиты 4 14.12.2015 14:48