Дело в том, у какого объекта вызывать метод
forEach()
Сейчас, очевидно, вызываете на массиве или
статичном NodeList'е, в который свежедобавленный элемент не попадает.
Почувствуйте разницу между
статичным и динамическим NodeList'ом. Первый содержит только те элементы, которые в него попали на момент создания. Динамический будет содержать и добавленные после.
querySelectorAll()
возвращает статичный набор.
Решение, в общем – либо заново собирать элементы, и по ним запускать
forEach()
, или же получать динамическую коллекцию, используя соотв. метод.