如何使用jQuery获取整个页面的HTML?

Jus*_*Lee 55 html jquery dom

我曾经使用过$(document).html(),但那引发了一个错误......是否有办法获得一切?

Pat*_*ney 69

不要忘记<html>标签也可以具有属性.如果你想要整个文件这应该工作.

 $('html')[0].outerHTML
Run Code Online (Sandbox Code Playgroud)

没有jQuery,它也是微不足道的.

document.documentElement.outerHTML
Run Code Online (Sandbox Code Playgroud)

如果您还想要包含doctype,则需要更多参与.

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   
Run Code Online (Sandbox Code Playgroud)


Jim*_*uts 64

你可以尝试:

$("html").html();
Run Code Online (Sandbox Code Playgroud)

如果你想捕获html标签,你可以将它们连接到html,如下所示:

function getPageHTML() {
  return "<html>" + $("html").html() + "</html>";
}
Run Code Online (Sandbox Code Playgroud)

  • 帕特里克的答案是最好的,其中包括doctype. (6认同)