问题描述

我使用 $(document).html(),但是抛出一个错误… 有办法获得一切吗?

最佳解决方案

你可以试试:

$("html").html();

如果您还要捕获 hmtl 标签,可以将它们连接到 html,如下所示:

function getPageHTML() {
  return "<html>" + $("html").html() + "</html>";
}

次佳解决方案

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

 $('html')[0].outerHTML

没有 jQuery 也是微不足道的。

document.documentElement.outerHTML

如果你也想要 include the 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

第三种解决方案

使用:

document.body.innerHTML

第四种方案

$("html").html()将获得除外部最 html 标签之外的所有东西。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛