@David5

Не находит элемент в блоке?

Добрый день.
У меня есть данная функция
function search_input_value(e){


                if (event.target.value.includes('*')){


                    event.target.value = event.target.value.slice(0, -1);

                    document.querySelectorAll('#btn_search')[0].click();
                    event.target.value = '';

                    
                    var all = document.querySelectorAll('#items2');
                    for (var i=0, max=all.length; i < max; i++) {
                        console.log(all[i].querySelectorAll('.tovar_name')[0])
                    }
                }}


после выполнения клика document.querySelectorAll('#btn_search')[0].click();
в блок добавляется контент опреденный(его добавляет другая функция, она вызвается при клике)

но цикл который выполняется после, не находит данный контент, хотя на сайте блок выводится.
Заранее благодарю
  • Вопрос задан
  • 113 просмотров
Пригласить эксперта
Ответы на вопрос 1
@sewaca
Скорее всего проблема с тем, что DOM-дерево еще не обновилось на тот момент
Операции с дом очень тяжелые, поэтому выполняются в последнюю очередь
Можете попробовать запихнуть цикл в
setTimeout(()=>{
for ... 
}, 0)

Это сделает из вашего цикло (микрозадачи) макрозадачу
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
29 нояб. 2024, в 07:44
20000 руб./за проект
29 нояб. 2024, в 04:45
5000 руб./за проект
29 нояб. 2024, в 04:42
5000 руб./за проект