1

我正在尝试获取当前 HTML 文档的内容以进行进一步处理。在有用的浏览器中,我可以很容易地做到这一点。(见http://jsfiddle.net/HYyH4/

在 IE 中查看该链接,我无法从该命令获得任何输出 - “无法设置 innerHTML 属性。此操作的目标元素无效。”

有没有其他方法可以完成这样的事情,而无需手动重写整个 DOM?我最终希望能够将其拉入 jQuery 中,这样我就可以轻松删除元素,所以不会失败的东西jQuery.html()也会很好:)

感谢您的任何帮助/反馈!

4

2 回答 2

1

我不知道您为什么要尝试复制文档的源代码,所以我不能说以下内容是否有用,但是它返回一个与原始 DOM 完全相同的 HTML 元素:

var doc = document.getElementsByTagName('html')[0];
var newDoc = doc.cloneNode(true);
alert(newDoc.innerHTML);

这是否适合您的情况取决于您。请注意,克隆的 HTML 元素将(取决于浏览器)缺少一些或所有动态添加的侦听器,并且表单控件值可能不同。

于 2012-04-23T03:53:10.420 回答
0

您可以尝试使用documentElementwhich 将拉文档根节点。

返回作为文档根元素的 Element(例如,HTML 文档的元素)。

它适用于 IE 5.5+。继承人mdn文章讨论它以获取更多信息。

现场演示

另请注意.. jsfiddle 根本不知道在 IE 中运行良好,因此如果这就是您用来测试的东西,这可能是问题的一部分。

于 2012-04-23T01:56:19.703 回答