我试图为jQuery元素获得一致的跨浏览器outerHtml,特别是$("html").outerHtml()
。例如,如果页面的源代码是这样的:有没有更好的方法来获得outerHtml?
<html><script src="blah.js"></script><div class="foo" id='bar'></p></div></html>
我希望能够用$("html").outerHtml();
来获取HTML字符串包括元素本身,这将是:
<html><script src="blah.js"></script><div class="foo" id="bar"><p></p></div></html>
我一直在使用布兰登·艾伦的outerHtml plugin它看起来是这样的:
return $('<div>').append($("html").first().clone()).html();
然而,这似乎确实尝试重新加载文档中的任何外部参照文件(脚本,样式表),为了获得包装元素的HTML源代码,这看起来很过分。 Javascript甚至可以将HTML元素放入DIV元素中?
本地,我得到这个错误。与AJAX规则有关吗?
XMLHttpRequest无法加载file:/// C:/demo.js?_ = 1311466511031。 Access-Control-Allow-Origin不允许Origin null。
有没有更好的方法来获得outerHtml?在做这件事时,我真的很想避免任何网络电话。
你确定你不想'body'的* inner * HTML吗?这些数据的目的是什么? –
非常确定。我正在验证HTML或HTML片段。是的,我知道它与HTML源不一样。 – peterjwest
在查看通常解析HTML时,您始终可以对文档的位置执行单独的HTTP请求。但是,这并不能解决碎片问题。 –