Nel caso tu stia ancora cercando un anwer, e per chiunque altro lo attraversi, ho cercato di fare lo stesso io stesso. Sembra che si desidera essere guardando DOMImplementation di javascript:
http://reference.sitepoint.com/javascript/DOMImplementation
ci sono alcuni riferimenti alla compatibilità pure qui, ma è abbastanza ben supportato.
In sostanza, per creare un nuovo documento da manipolare, si desidera creare un nuovo oggetto Doctype (se si desidera generare alcuni elementi basati su standard) e quindi creare il nuovo documento utilizzando la variabile Doctype appena creata.
Ci sono più opzioni da inserire sia in doctype che nel documento, ma se stai creando un documento HTML5, sembra che tu voglia lasciarne la maggior parte come stringhe vuote.
Esempio (DOM Nuovo documento HTML5):
var doctype = document.implementation.createDocumentType('html', '', '');
var dom = document.implementation.createDocument('', 'html', doctype);
il nuovo documento appare come segue:
<!DOCTYPE html>
<html>
</html>
Esempio (New XHTML DOM Document):
var doctype = document.implementation.createDocumentType(
'html',
'-//W3C//DTD XHTML 1.0 Strict//EN',
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'
);
var dom = document.implementation.createDocument(
'http://www.w3.org/1999/xhtml',
'html',
doctype
);
Così
spetta a te popolare il resto. Si potrebbe fare questo nel modo più semplice cambiare
dom.documentElement.innerHTML = '<head></head><body></body>';
o andare con la più rigorosa:
var head = dom.createElement('head');
var body = dom.createElement('body');
dom.documentElement.appendChild(head);
dom.documentElement.appendChild(body);
tutto tuo.
Dopo ore di JS + Adobe AIR mangiare i miei tag '
' con 'document.implementation.createHTMLDocument', questo ha risolto il mio problema! Grazie mille !! –Ho document.body è nullo, ma con createHTMLDocument non c'è un tag head: :( – holden321