@ForSureN1
frontend dev

Как получить индекс элемента html?

Добрый день, я делаю табы, и я хочу сделать их резиновыми, то есть не через атрибуты и т.п. а через Классы, чтобы по клику на таб сравнивать индекс таба с индексом контентного блока. Но я не понимаю как мне из объекта получить индекс.
вот код.
function adverTabs() {
  let btn = document.querySelectorAll('.advertisement-tabs__item');  //Кнопки табой
  let block = document.querySelectorAll('.advertisement-tabs__content') //Контент
  btn.forEach(key => {
    key.addEventListener('click', function() {
      console.dir(key)
      block.forEach(item => {
        item.classList.toggle('active', key === item)
      })
    })
  })
}
  • Вопрос задан
  • 212 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
btn.forEach((key, index) => {
})


upd
Названия переменных у вас плохие.

// Это коллекции - множественная форма
let buttons = document.querySelectorAll('.advertisement-tabs__item');  //Кнопки табой
let blocks = document.querySelectorAll('.advertisement-tabs__content') //Контент

// Что еще за key? Там кнопка
buttons.forEach((btn, index) => {
    btn.addEventListener('click', function() {
      console.dir(btn)
      blocks.forEach(block => {
        block.classList.toggle('active', btn === block)
      })
    })
  })
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы