Когда вы генерируете объект jQuery из HTML, он игнорирует такие теги, как html
, head
и, что более важно, body
. Если, например, ваша страница example.html содержала следующий html:
<html>
<body>
<div>
<p>Text</p>
</div>
</body>
</html>
тогда ваш объект jQuery, сгенерированный при выполнении var pageHTML = $(data)
, будет основан на div
. Чтобы получить атрибут элемента body
, вам нужно иметь дело с data
в виде строки, которую вы запросили здесь :)
(Что ж, вы могли бы сделать некоторые замены строки ниндзя и преобразовать теги <body>
и <html>
в data
, например, в div, но выполнение поиска по строке в регулярном выражении будет быстрее и стабильнее)