Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.05.2014, 20:14
Новичок на форуме
Отправить личное сообщение для max_grim Посмотреть профиль Найти все сообщения от max_grim
 
Регистрация: 22.05.2014
Сообщений: 5

тег script find не находит
Здравствуйте! Столкнулся с одной проблемкой... я никак не могу найти тег <script> в html-коде.

Теперь по порядку.

Я отправляю ajax-запрос на другой сайт, он дает ответ в виде html-кода.

далее я делаю так

data = $($.parseHTML(data));


Чуть ниже так( ищу все div на полученном коде)

var html="";
			
            $(data).find("div").each(function(){
             html+=$(this).html();
             });


Все довольно отлично находит.

Но когда делаю так

var html="";
			
            $(data).find("script").each(function(){
             html+=$(this).html();
             });


мне возвращает undefined

В чем же дело? <script> там точно есть
Ответить с цитированием
  #2 (permalink)  
Старый 22.05.2014, 20:21
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

http://api.jquery.com/jquery.parsehtml/

Наверное, надо установить keepScripts на true.
data = $($.parseHTML(data, document, true));
Ответить с цитированием
  #3 (permalink)  
Старый 22.05.2014, 20:32
Новичок на форуме
Отправить личное сообщение для max_grim Посмотреть профиль Найти все сообщения от max_grim
 
Регистрация: 22.05.2014
Сообщений: 5

find дает пустой ответ. а filter возвращает то что внутри <script></script>

Сейчас это выглядит так

data.filter("script").each(function(){
             html+=$(this).html();
             });
Ответить с цитированием
  #4 (permalink)  
Старый 22.05.2014, 20:42
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
find дает пустой ответ.
Ну и правильно, ибо у script нет innerHTML.

Цитата:
data.filter("script").each(function(){
html+=$(this).html();
});
Так, а это, чтоли, таки возвращает код? Странно.
Ответить с цитированием
  #5 (permalink)  
Старый 22.05.2014, 20:45
Новичок на форуме
Отправить личное сообщение для max_grim Посмотреть профиль Найти все сообщения от max_grim
 
Регистрация: 22.05.2014
Сообщений: 5

Возвращает что внутри.
Например
function(){
//...
}


То как можно достать полную строку с тегом script вместе?

Мне кажется странным или скорее непонятным, почему когда я ищу div через find то мне возвращается полный код, с тегами div, а когда script через find то пустой ответ?
Ответить с цитированием
  #6 (permalink)  
Старый 22.05.2014, 20:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

c find неработает
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
   $(function ()
{
   var html="", data = $('body').html();
            $(data).filter("script").each(function(i,el){
             html+= $('<div/>', {html : el}).html();
             });
   alert(html)

})
  </script>
</head>
<body>
<script>
alert(123)
</script>
</body>

</html>

Последний раз редактировалось рони, 22.05.2014 в 21:12.
Ответить с цитированием
  #7 (permalink)  
Старый 22.05.2014, 20:50
Новичок на форуме
Отправить личное сообщение для max_grim Посмотреть профиль Найти все сообщения от max_grim
 
Регистрация: 22.05.2014
Сообщений: 5

рони,
к сожалению такого результата я смог добиться и сам. мне нужно целиком с тегами script получить
Ответить с цитированием
  #8 (permalink)  
Старый 22.05.2014, 21:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

max_grim,
смотрите код выше добавил теги
Ответить с цитированием
  #9 (permalink)  
Старый 22.05.2014, 21:18
Новичок на форуме
Отправить личное сообщение для max_grim Посмотреть профиль Найти все сообщения от max_grim
 
Регистрация: 22.05.2014
Сообщений: 5

рони,
Большое вам спасибо!! Протестирую, отпишу .
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
find() находит не всё divoannet jQuery 7 14.08.2013 15:52
Как вложить тег в тег proweb Общие вопросы Javascript 7 22.07.2013 13:32
Запихнуть тег script с атрибутами в определенное место на старнице thedriveee Общие вопросы Javascript 0 31.10.2012 23:26
Ссылка на тег script изнутри IOpeH Общие вопросы Javascript 3 15.08.2011 20:52
Почему в FF не исполняется клонированный тэг script? NT Man Firefox/Mozilla 0 15.11.2009 16:00