используйте querySelectorAll для получения элемента в исходном коде страницы

#javascript #jquery

#javascript #jquery

Вопрос:

У меня есть html-страница, где она полностью заменена другим html. В источнике страницы есть мой элемент, но в DOM его нет.

Ниже приведен мой jQuery код, который работает нормально:

 var account = parseInt($(".adajacent_links.pd0").find("li").first().text());
 

В то время как следующий код работает только перед заменой содержимого. Он не работает после замены DOM.

 var account = parseInt(document.querySelectorAll(".adajacent_links.pd0 > li:first-child")[0].innerText);
 

даже document.querySelectorAll(".adajacent_links") или document.querySelector(".adajacent_links") ничего не возвращает . adajacent_links класс присутствует только в исходном коде страницы, но не в DOM. Как это работает нормально jQuery ?

Комментарии:

1. Поскольку вы просто хотите вернуть один элемент, используйте querySelector и нет [0] .

2. Два селектора немного отличаются. Первый найдет любой li на любом уровне внутри .adajacent_links.pd0 . Второй будет находить только li те, которые являются прямыми дочерними элементами, из-за >

3. Вероятно, это не имеет значения, поскольку оно одинаково в обоих случаях, но, может быть, вы неправильно написали смежно?