创建一个javascript文档对象

10 javascript document object

有没有办法通过调用函数来创建或重新创建一个javascript文档对象.就像是

<script type="javascript/text">
  var document = createDocument("some html");
</script>
Run Code Online (Sandbox Code Playgroud)

我想这样做,所以我可以在这个问题客户端xslt解决问题与Firefox中的JavaScript

小智 11

Webkit是第一个为该任务包含/公开以下方法的人:

document.implementation.createHTMLDocument(title);
Run Code Online (Sandbox Code Playgroud)

从版本4开始,Firefox也实现了此方法,而对于以前的版本,可以使用以下方法创建HTML文档:

var doc = document.implementation.createDocument('', '',
  document.implementation.createDocumentType('html', '', ''));
Run Code Online (Sandbox Code Playgroud)

它应该大致相当于具有<!DOCTYPE html>(HTML5)的文档.

用所需的publicId/systemId替换'createDocumentType'的空字符串.

仍然需要在生成的文档中创建/附加html,head和body元素以使其具有可用的DOM.


Dan*_*ert 5

你可以尝试使用document.implementation.createDocument.获得文档后,可以使用该innerHTML属性为其设置HTML.如果你想用一个整齐的小包裹包裹你可以做这样的事情:

function createDocument(html) {
    var doc = document.implementation.createDocument ('http://www.w3.org/1999/xhtml', 'html',  null);
    doc.documentElement.innerHTML = html;
    return doc;
}
Run Code Online (Sandbox Code Playgroud)

然后你会使用这样的函数:

var doc = createDocument("<body><span>Hello StackOverflow.com!</span></body>");
Run Code Online (Sandbox Code Playgroud)

如果这是您正在寻找的,请告诉我.