如何从代码创建 HTML 文档 DOM 对象
How to create a HTML document DOM object from code?
目前我正在这样做:
var newdoc = document.implementation.createHTMLDocument("Wrong title");
newdoc.open();
newdoc.write('<!doctype html><html><head><title>Right title</title></head><body><div id="a_div">Right content</div></body></html>');
newdoc.close();
然后我尝试获取有关加载的文档的一些信息,例如:
> newdoc.title
Right title
> newdoc.getElementById("a_div").innerHTML
Right content
问题是它仅适用于Chrome。在 Firefox 和 Opera 上,DOM 似乎在文档关闭后没有加载。我做错了什么?
我写了这个小提琴来演示这个问题:http://jsfiddle.net/uHz2m/
好的,在阅读文档后,我注意到createHTMLDocument()
没有创建一个零字节长度的文档对象,而是一个基本的 HTML 脚手架,如下所示:
<!DOCTYPE html>
<html>
<head>
<title>Wrong title</title>
</head>
<body></body>
</html>
这就是为什么newdoc.write()
无法按预期工作的原因。
相反,我可以只获取html
元素并更改其 HTML 代码(更正的小提琴)。
var newdoc = document.implementation.createHTMLDocument("Wrong title");
newdoc.documentElement.innerHTML = ''
<!doctype html>'
<html>'
<head>'
<title>Right title</title>'
</head>'
<body>'
<div id="a_div">Right content</div>'
</body>'
</html>';
相关文章:
- 如何判断何时将dom节点添加到文档中
- 为什么是文档.旧版应用程序中的DOM-object.properties为null
- 始终是在DOM就绪后执行的文档底部编写的代码
- firefox扩展可以修改HTML文档的DOM,然后保存为HTML
- 如何在 Javascript 中获取格式良好的 DOM 文档 XML
- 尝试从 dom 文档中删除 dom 节点时出错
- 在jQuery的XML文档中选择和操作DOM中的元素
- XML解析器/从XML节点列表创建一个XML DOM文档
- WWAHost 不加载 XML DOM 文档 6.0
- 在Google Apps Script中获取javascript“文档HTML DOM”信息
- d3.js 在就绪文档上访问 DOM
- 如何在 JavaScript 中使用 DOM 操作函数将
- HTML DOM 从哪里开始?窗?公文?文档默认视图
- 是否存在清除从文档中删除的DOM子树的方法(至少可以阻止加载该子树中的图像)
- 动态修改DOM并添加到文档中
- 从字符串创建一个 DOM 文档,不带 JQuery
- clonoNode()Dom方法无法克隆给定的Xml文档对象
- 如何在嵌入式文档中处理DOM事件
- 如何访问ejs中的文档dom对象
- 如何从代码创建 HTML 文档 DOM 对象