jQuery не может выбрать body
строки ответа, поскольку тег <body>
исчезает при преобразовании строки с использованием $()
.
Следовательно, вам нужно выбрать тело из data
Строка по-другому, например, регулярные выражения.Пример:
$.get(filename, function(data) {
var body = data.replace(/^[\S\s]*<body[^>]*?>/i, "")
.replace(/<\/body[\S\s]*$/i, "");
//Optionally, convert the string to a jQuery object:
body = $(body);
console.log(body);
}))
Примечание. Мое регулярное выражение предполагает хорошо сформированный HTML-документ, где >
правильно отображаются с использованием HTML-сущностей.Если это не так, следует использовать более продвинутые RegExps, такие как показанные на этот вопрос .