@DenKuzmin17

Как по клику найти индекс элемента среди его соседей?

как это на javascript переписать?
$('.slide').click(function () {
   var index = $(this).index();
   console.log(index)
});


При нажатии .slide отдаёт свой индекс в консоль.
  • Вопрос задан
  • 212 просмотров
Решения вопроса 3
0xD34F
@0xD34F Куратор тега JavaScript
document.addEventListener('click', e => {
  const slide = e.target.closest('.slide');
  if (slide) {
    const index = Array.prototype.indexOf.call(
      slide.parentNode.children,
      slide
    );
    console.log(index);
  }
});

или

for (const n of document.querySelectorAll('.slide')) {
  n.addEventListener('click', onClick);
}

function onClick() {
  let index = 0;
  for (let el = this; el = el.previousElementSibling; index++) ;
  console.log(index);
}

или

document.querySelectorAll('.slider').forEach(function({ children }) {
  [].forEach.call(children, (n, i) => {
    n.dataset.index = i;
    n.addEventListener('click', this);
  });
}, e => console.log(+e.currentTarget.dataset.index));
Ответ написан
Комментировать
Stimulate
@Stimulate
могу
var slides = document.getElementsByClassName('slide');
for(let i = 0 ; i < slides.length ; i++) {
  slides[i].addEventListener('click', function() {
    console.log(i);
  });
}
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
document.querySelectorAll('.slide').forEach(
	(el, i) => el.addEventListener('click', () => console.log(1+i))
)


Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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