Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   В var лежит блок html, внутри блока запрос querySelector('#text') не находит элемент (https://javascript.ru/forum/misc/74014-v-var-lezhit-blok-html-vnutri-bloka-zapros-queryselector-%27-text%27-ne-nakhodit-ehlement.html)

j0hnik 06.06.2018 20:00

глянул, в консоле работает.

Alexoner 06.06.2018 20:20

И нет "null" и "is not a function..."? Я просто озадачен... А как запускаете? Может расширение у меня глючит или ещё что, даже не знаю как быть...

j0hnik 06.06.2018 20:23

Alexoner
просто в консол выполнил, глянул только селекторы
open_submit_button.querySelector("#text");
open_submit_button.querySelector("yt-formatted-string");


, может у вас ошибка в другом месте?

Alexoner 06.06.2018 20:53

А вы какой код в консоли выполняли, можете выложить? Пока у меня не срабатывает.

j0hnik 06.06.2018 20:56

document.getElementById('submit-button').querySelector("yt-formatted-string");

Alexoner 06.06.2018 21:04

Запустил вашу строку в консоли. Ответ:
Uncaught TypeError: Cannot read property 'querySelector' of null
at <anonymous>:1:41
(anonymous) @ VM27285:1

Alexoner 06.06.2018 21:24

А нет, работает. Странно.
В коде вряд ли есть ошибки, так как в итоге HTML-блок в переменной появляется (что в начальном посте и описано), а вот внутри этого блока элемент найти не удаётся.
Благодарю за ответы. Буду думать дальше как быть...

Alexoner 07.06.2018 15:01

Решение нашлось: запуск внутреннего поиска с задержкой в одну секунду.
Не знаю почему так работает, ведь в переменной HTML-блок уже был, но видимо для внутреннего поиска он как бы ещё не успевает появиться. При запуске с задержкой он видимо появляется и всё работает.
Благодарю за помощь в поиске решения.
setTimeout(search1, 1000);
function search1(){
	var submit_button = open_submit_button.querySelector('#text');
}

j0hnik 07.06.2018 16:16

Alexoner,
просто блок подгружается динамически, и window.onload тут не помогает.
Либо таймаут, либо отслеживание появления через MutationObserver, или промис какой нибудь

Alexoner 08.06.2018 13:20

Благодарю за полезную информацию.


Часовой пояс GMT +3, время: 11:32.