тег 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, время: 21:07. |