基本上这就是问题,应该如何用javascript动态地从HTML字符串构造一个Document对象?
规范中定义了两种方法,分别createDocument2和createHTMLDocumentHTML5。前者创建一个XML文档(包括XHTML),后者创建一个HTML文档。两者都作为功能驻留在DOMImplementation接口上。
createDocument
createHTMLDocument
DOMImplementation
var impl = document.implementation, xmlDoc = impl.createDocument(namespaceURI, qualifiedNameStr, documentType), htmlDoc = impl.createHTMLDocument(title);
实际上,这些方法还很年轻,仅在最近的浏览器版本中实现。根据http://quirksmode.org和MDN的说明,以下浏览器支持createHTMLDocument:
有趣的是,您可以(使用某种)在旧版本的Internet Explorer中创建HTML文档,方法是ActiveXObject:
ActiveXObject
var htmlDoc = new ActiveXObject("htmlfile");
生成的对象将是一个新文档,可以像其他任何文档一样对其进行操作。