jQuery: проблема с использованием команды .find () - PullRequest
2 голосов
/ 10 мая 2011

Я передаю все содержимое HTML внешней веб-страницы в переменную javascript («myHTML»). Далее я пытаюсь определить, существуют ли два разных тега с определенными атрибутами в переменной myHTML. Я ищу наличие определенного тега <div> и тега <script>. Я могу определить тег <div>:

alert($(myHTML).find('div[id^="myID"]').length)

Приведенный выше код возвращает правильный счет. Однако я не могу найти тег <script> (даже если он существует на странице / в переменной myHTML):

alert($(myHTML).find('script[src*="example.com"]').length)

Приведенный выше код всегда возвращает ноль, даже если есть тег <script> с атрибутом src, указывающим на "... example.com/...".

Может кто-нибудь объяснить, почему первая строка кода работает, а вторая - не получается? Есть ли решение этой проблемы?

1 Ответ

4 голосов
/ 10 мая 2011

Это уже обсуждалось здесь: jquery: Сохранить тег после .find ()

jQuery удаляет все теги скрипта всякий раз, когда вы создаете объект jQuery из строки. Решение состоит в том, чтобы проанализировать строку с помощью регулярных выражений, прежде чем превратить ее в объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...