Parece que he encontrado como lo hace Gmail,creando nodos y demás:
Cita: function Sc(b){return document.createElement(b)}function Tc(b,a){var c=b.createElement("div");G?(c.innerHTML="<br>"+a,c .removeChild(c.firstChild)):c.innerHTML=a;if(1==c. childNodes.length)return c.removeChild(c.firstChild);for(var d=b.createDocumentFragment();c.firstChild;)d.appen dChild(c.firstChild);return d}
Aunque sigue siendo un poco lioso se puede pillar algo..