diff --git a/src/Type/y-xml/YXmlElement.js b/src/Type/y-xml/YXmlElement.js index b38c4e64..dda31827 100644 --- a/src/Type/y-xml/YXmlElement.js +++ b/src/Type/y-xml/YXmlElement.js @@ -110,10 +110,11 @@ export default class YXmlElement extends YXmlFragment { } return obj } - getDom () { + getDom (_document) { + _document = _document || document let dom = this._dom if (dom == null) { - dom = document.createElement(this.nodeName) + dom = _document.createElement(this.nodeName) this._dom = dom dom._yxml = this let attrs = this.getAttributes() @@ -121,7 +122,7 @@ export default class YXmlElement extends YXmlFragment { dom.setAttribute(key, attrs[key]) } this.forEach(yxml => { - dom.appendChild(yxml.getDom()) + dom.appendChild(yxml.getDom(_document)) }) this._bindToDom(dom) } diff --git a/src/Type/y-xml/YXmlText.js b/src/Type/y-xml/YXmlText.js index c3d3f5db..7fbd48d5 100644 --- a/src/Type/y-xml/YXmlText.js +++ b/src/Type/y-xml/YXmlText.js @@ -67,9 +67,10 @@ export default class YXmlText extends YText { this._dom = dom dom._yxml = this } - getDom () { + getDom (_document) { + _document = _document || document if (this._dom === null) { - const dom = document.createTextNode(this.toString()) + const dom = _document.createTextNode(this.toString()) this._setDom(dom) return dom }