тег 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> там точно есть |
http://api.jquery.com/jquery.parsehtml/
Наверное, надо установить keepScripts на true. data = $($.parseHTML(data, document, true)); |
find дает пустой ответ. а filter возвращает то что внутри <script></script>
Сейчас это выглядит так data.filter("script").each(function(){ html+=$(this).html(); }); |
Цитата:
Цитата:
|
Возвращает что внутри.
Например function(){ //... } То как можно достать полную строку с тегом script вместе? Мне кажется странным или скорее непонятным, почему когда я ищу div через find то мне возвращается полный код, с тегами div, а когда script через find то пустой ответ? |
:write: 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> |
рони,
к сожалению такого результата я смог добиться и сам. мне нужно целиком с тегами script получить |
max_grim,
смотрите код выше добавил теги |
рони,
Большое вам спасибо!! Протестирую, отпишу . |
Часовой пояс GMT +3, время: 01:52. |