При нумерации слов в консоль пишет ошибку

Рейтинг: 0Ответов: 1Опубликовано: 11.07.2023

Реализовал логику на JS, пронумеровал каждый <p> таким образом:

const numberParagraph = document.querySelectorAll('.conteiner p');

for (let i = 0; i <= numberParagraph.length; i++) {
    const numberText = i + 1;
    numberParagraph[i].innerHTML = numberText + '. ' + numberParagraph[i].innerHTML;

}

В консоли пишет ошибку:

Uncaught TypeError: Cannot read properties of undefined (reading 'innerHTML')

Нумерация работает, но после этой ошибки дальнейший код не работает. В чём может быть причина? Помогите плиз!

Ответы

▲ 2Принят

Вся причина в вашем условии i <= numberParagraph.length в цикле for. Здесь не нужно "меньше или равно", здесь нужно только "меньше". Т.к. нумерация массива начинается с 0, а numberParagraph.length возвращает КОЛ-ВО элементов. Это число будет больше, чем максимальный индекс в массиве.