document.addEventListener('click', ({ target: t }) => {
if (t = t.closest('.slide')) {
const index = Array.prototype.indexOf.call(
t.parentNode.children,
t
);
console.log(index);
}
});
или
for (const n of document.getElementsByClassName('slide')) {
n.addEventListener('click', onClick);
}
function onClick() {
let index = 0;
for (let n = this; n = n.previousElementSibling; index++) ;
console.log(index);
}
или
document.querySelectorAll('.slider').forEach(function(slider) {
slider.querySelectorAll(':scope > *').forEach((n, i) => {
n.dataset.index = i;
n.addEventListener('click', this);
});
}, e => console.log(+e.currentTarget.dataset.index));