Javascript 如何使用jQuery返回页面的完整html?

Javascript 如何使用jQuery返回页面的完整html?,javascript,jquery,Javascript,Jquery,如何使用jQuery返回页面的完整html 我做不到 return $('html').html() 或 返回“+$(“html”).html()+”; 因为页面中可能根本没有html标记。我不能使用class或id标记,因为这不是我可以控制和更改的。因此,用例是如果我传递一个url,我需要返回页面的完整html,页面中可能有也可能没有html标记。您是否尝试过: $(document).html(); 编辑:这在Firebug中不适用于我,所以我不确定它是否适用于您 无论如何,$(“ht

如何使用jQuery返回页面的完整html

我做不到

return $('html').html()

返回“+$(“html”).html()+”;
因为页面中可能根本没有html标记。我不能使用class或id标记,因为这不是我可以控制和更改的。因此,用例是如果我传递一个url,我需要返回页面的完整html,页面中可能有也可能没有html标记。

您是否尝试过:

$(document).html();

编辑:这在Firebug中不适用于我,所以我不确定它是否适用于您

无论如何,
$(“html”)
将在所有正常情况下返回一个元素,即使源文档不包含
元素。这是因为浏览器将自动将某些必需元素(包括
)插入DOM树,即使源文档中未指定这些元素

我能想到的唯一例外是(如果您对一个非html的DOM树运行JQuery,那么您将无法从
$(“html”)
)中获得任何信息——例如,如果您将JQuery加载到一个SVG文档中。不过,你那样做会发疯的。:)


对于较旧的Firefox,您需要使用
.innerHTML
,然后连接
标记


“页面中可能根本没有html标记”


如果您没有
标记,浏览器将自动插入它们。如果您想要原始文档的精确表示,请按照@Rab Nawaz的建议提出AJAx请求,测试您所做的一切都是跨浏览器的。我记得曾经做过一次,发现
中的元素在浏览器中的报告并不一致
$(document).html();
document.documentElement.outerHTML;