Как обратиться к элементам DOM дерева, добавленным через JS?

Есть форма:
5c6ef6469a9da335473683.jpeg

при клике "добавить блок затрат" появляются дополнительные инпуты :
5c6ef67354173969623253.jpeg

при этому правых инпутов один класс ".howMuch".
При попытке получить массив из инпутов с классом ".howMuch":

var inputHowMuch = document.getElementsByClassName('howMuch');
console.log(inputHowMuch);

Показывает следующее:
5c6ef6bdd8237682930239.jpeg

Оставляю закрытым в консоли HTMLCollection [input.howMuch], добавляю несколько элементов, а потом раскрываю:
5c6ef6d4d8238505519568.jpeg
Все корректно отображается, ок.

Если открываю сначала HTMLCollection [input.howMuch] и потом добавляю элементы, то в консоли они не появляются:
5c6ef7395e06d723535801.jpeg

Почему так? Как исправить?

https://jsfiddle.net/e36ho07b/
  • Вопрос задан
  • 160 просмотров
Пригласить эксперта
Ответы на вопрос 1
Xuxicheta
@Xuxicheta
инженер
посмотрите вот так https://jsfiddle.net/melchiorio/1zeychwm/1/

Коллекция в консоли пересчитывается в момент когда вы ее открыли, нажав на стрелочку. После этого уже не меняется.
А в коде, если DOM изменился, перед тем как с коллекцией работать - создаете ее заново,
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы