Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   преобразовать ES6 в ES5 (https://javascript.ru/forum/misc/80511-preobrazovat-es6-v-es5.html)

TheSanches 15.06.2020 11:12

преобразовать 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');
    });
  }
}

Aetae 15.06.2020 11:16

Поменять const и let на var.

TheSanches 15.06.2020 11:17

Цитата:

Сообщение от Aetae (Сообщение 525827)
Поменять const и let на var.

И перестает все работать

Aetae 15.06.2020 11:24

А, ну да, классика.
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));
  }
}

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

TheSanches 15.06.2020 11:31

Цитата:

Сообщение от Aetae (Сообщение 525830)
А, ну да, классика.
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));
  }
}

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

Спасибо, работает)


Часовой пояс GMT +3, время: 08:56.