函数调用后缺少$().html()body标记



我正在抓取一个网站的源代码。

我的第一次打印打印出了完整的源代码。

然后,第二次打印将一个实际的DOM打印到控制台,但由于某种原因,文档的内容只是略有变化。

让我困扰的是<body>标签不见了,我不知道为什么。

我刚刚意识到<head>标签也不见了。所以这可能有一个很好的理由。

需要说明的是:<head><body>标记的内容都保留在容器中。只是标签本身消失了,而不是它们的内容。

我希望将整个源代码解析为一个可访问的DOM。

这是代码:

$.ajax({url: url, dataType: "text", success: function(data) { 
console.log("data:", data);
var htmlDocument = $("<html>").html(data)[0];
console.log("htmlDocument:", htmlDocument);
}});

我是JavaScript新手,感谢您的帮助。我很想了解这个问题,但现在我真的只想让它发挥作用。

正如Charlietfl所说的

请注意,jQuery.html()删除了bodyhead

尝试

$('html')[0].outerHTML

document.documentElement.outerHTML

点击此处查看更多信息:如何获取整个页面';使用jQuery的HTML?

最新更新