2г



Программирование
+3Как сделать функцию-счетчик для блока?
Нужно сделать функцию-счетчик, для блока.

Структура HTML левого блока, где нужно менять цифры "number"
123456
<div class="left__box">
<div class="left__box-text">
<p class="number">1</p>
<span class="left__text">Привет ??</span>
</div>
</div>
В JS данный блок создается вот так
1234567891011121314151617
// --------------LEFT BLOCK-------------------------
// новый блок left
let newDiv = document.createElement("div");
newDiv.className = "left__box-text";
left__box.appendChild(newDiv);
let number = document.createElement("p");
number.className = "number";
number.innerText = "2";
newDiv.appendChild(number);
// let number = newDiv.getElementsByClassName("number").length + 1;
// newDiv.appendChild(document.createTextNode(`${number}`));
// в блоке left, создаем span
let leftTextSpan = document.createElement("span");
leftTextSpan.classList = "left__text";
leftTextSpan.innerText = textInput;
newDiv.appendChild(leftTextSpan);
Пытался создать переменную let count;
И ее плюсовать number.innerText = count + 1;
Но выводится все как на скриншоте.
Не пойму куда и как копать.
По дате
По рейтингу
нормально бы сделал, например так https://codepen.io/norbert123/pen/vYaXLab тогда бы само все считалось
HTML-код:
1
<div class="left__box"></div>
JS-код:
123456789101112131415161718192021222324252627282930
// Подхватываем левую колонку
const leftBox = document.querySelector('.left__box');
// Создаем цикл для работы с элементами
// Число итераций (второй аргумент) будет равен количеству элементов
for (let i = 1; i <= 5; i++) {
// Создаем новые блоки
const newDiv = document.createElement("div");
const number = document.createElement("p");
const leftTextSpan = document.createElement("span");
// Добавляем классы
newDiv.className = "left__box-text";
number.className = "number";
leftTextSpan.classList = "left__text";
// Добавляем содержимое
// Для number используем счетчик итераций
number.innerText = i;
leftTextSpan.innerText = 'Текст';
// Добавляем элементы на страницу и друг в друга
leftBox.appendChild(newDiv);
newDiv.appendChild(number);
newDiv.appendChild(leftTextSpan);
}
Итоговая структура выглядит вот так в DOM-дереве:

Этого эффекта ты пытался добиться? Строчки будут всегда иметь нумерацию в соответствии с общим индексом.
Больше по теме