如何获取整个页面';使用jQuery的HTML是什么?

如何获取整个页面';使用jQuery的HTML是什么?,jquery,html,dom,Jquery,Html,Dom,我使用了$(document.html(),但这引发了一个错误。。。有什么办法可以得到所有东西吗?您可以试试: $("html").html(); 如果您还想捕获html标记,可以将它们连接到html,如下所示: function getPageHTML() { return "<html>" + $("html").html() + "</html>"; } 函数getPageHTML(){ 返回“+$”(“html”).html()+”; } $(“html”

我使用了
$(document.html()
,但这引发了一个错误。。。有什么办法可以得到所有东西吗?

您可以试试:

$("html").html();
如果您还想捕获html标记,可以将它们连接到html,如下所示:

function getPageHTML() {
  return "<html>" + $("html").html() + "</html>";
}
函数getPageHTML(){ 返回“+$”(“html”).html()+”; }
$(“html”).html()
将获得除最外层html标记以外的所有内容。

使用:

document.body.innerHTML
编辑:使用

不要忘记
标记也可以有属性。如果你想要完整的文档,这应该是可行的

 $('html')[0].outerHTML
没有jQuery也很简单

document.documentElement.outerHTML

如果你也想的话,那就更复杂一点

var getDocTypeAsString = function () { 
    var node = document.doctype;
    return node ? "<!DOCTYPE "
         + node.name
         + (node.publicId ? ' PUBLIC "' + node.publicId + '"' : '')
         + (!node.publicId && node.systemId ? ' SYSTEM' : '') 
         + (node.systemId ? ' "' + node.systemId + '"' : '')
         + '>\n' : '';
};

getDocTypeAsString() + document.documentElement.outerHTML   
var getDocTypeAsString=function(){
var节点=document.doctype;

返回节点?”无需依赖jQuery。最好和最简单的方法是使用

new XMLSerializer().serializeToString(document)

它将始终为您提供整个页面的内容,包括DOCTYPE标记,所有现代浏览器都支持它:

如果您想要整个文档html,您应该使用:
window.document.innerHTML
@simo:
document
在我仍然使用的任何浏览器中都没有
innerHTML
属性。如何关于获取doctype?@Sebastian不确定您是否可以,看看这是否可行,但是如果您将一个页面替换为一个完整的其他页面,您将最终拥有多个html标记。这个答案比公认的答案有什么更多?