Пусть у вас есть набор DOM элементов, которые
вы перебираете в цикле. И пусть вы хотите
по клику на любой элемент вывести его порядковый
номер. В этом случае вас может ждать подвох
- все элементы будут выводить номер последнего
элемента + 1, а не свой! В данном уроке я
покажу вам, как применение let
вместо
var
легко решит эту проблему.
Исходники кода
p {
height: 20px;
border: 1px solid red;
}
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
var elems = document.querySelectorAll('p');
for (let i = 0; i < elems.length; i++) {
elems[i].addEventListener('click', function() {
this.innerHTML = i;
});
}
//console.log(i);