diff --git a/source/class/cv/parser/MetaParser.js b/source/class/cv/parser/MetaParser.js index f2565e6108b..511d32ee1c9 100644 --- a/source/class/cv/parser/MetaParser.js +++ b/source/class/cv/parser/MetaParser.js @@ -371,10 +371,11 @@ qx.Class.define("cv.parser.MetaParser", { }, this); areq.send(); } else { + var cleaned = qx.bom.element.Attribute.get(elem, 'html').replace(/\n\s*/g, '').trim(); cv.parser.WidgetParser.addTemplate( templateName, // templates can only have one single root element, so we wrap it here - '' + qx.bom.element.Attribute.get(elem, 'html') + '' + '' + cleaned + '' ); } }, this); diff --git a/source/class/cv/parser/WidgetParser.js b/source/class/cv/parser/WidgetParser.js index 5206d305125..93ac34e773d 100644 --- a/source/class/cv/parser/WidgetParser.js +++ b/source/class/cv/parser/WidgetParser.js @@ -59,11 +59,11 @@ qx.Class.define('cv.parser.WidgetParser', { }, this); if (this.__templates.hasOwnProperty(templateName)) { - var renderedString = qx.bom.Template.render(this.__templates[templateName], variables).replace('\n', '').trim(); - var div = document.createElement('div'); - qx.bom.element.Attribute.set(div, 'html', renderedString.substring(6, renderedString.length - 7).trim()); - // replace existing element with the rendered template (without ) - elem.parentNode.replaceChild(div.firstChild, elem); + var renderedString = qx.bom.Template.render(this.__templates[templateName], variables); + var helperNode = elem.ownerDocument.createElement('div'); + qx.bom.element.Attribute.set(helperNode, 'html', renderedString.substring(6, renderedString.length - 7)); + // replace existing element with the rendered templates child + elem.parentNode.replaceChild(helperNode.firstChild, elem); } }, this); },