Как получить индекс li при клике на ссылку?

Всем привет!

Нужно получить индекс li при клике на ссылку внутри него.
Без использования jquery.

Такая структура:

<ul>
  <li>
    <a href="#">Link 1</a>
  </li>
  <li>
    <a href="#">Link 2</a>
  </li>
  <li>
    <a href="#">Link 3</a>
  </li>
  <li>
    <a href="#">Link 4</a>
  </li>
  <li>
    <a href="#">Link 5</a>
  </li>
</ul>
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
Seasle
@Seasle Куратор тега JavaScript
\( ゚ヮ゚)/
document.querySelectorAll('ul li a').forEach((link, index) => {
   link.addEventListener('click', () => {
       console.log('Index is', index);
   });
});

или
document.querySelectorAll('a').forEach(link => {
   link.addEventListener('click', event => {
       const parent = event.target.closest('li');
       if (parent !== null) {
           const items = [...parent.parentElement.children];
           const index = items.indexOf(parent);
           console.log('Index is', index);
       }
   });
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
LenovoId
@LenovoId
I want, women not to get sick
document.querySelectorAll("ul li").forEach(function (li, index){
  li.addEventListener("click", function (e){
   console.log(index)
  })
})


Ответ написан
Ваш ответ на вопрос

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

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