Me enfrenta el siguiente problema: Tengo un documento HTML donde quiero imprimir mensajes básicos de estado/depuración/etc.Insertar nueva línea ( n) con innerHTML en pre elemento en IE no funciona?
Así, el documento HTML contiene un pre-elemento vacío cuyo ID es cabo:
<body onload='init() && main();'>
<pre id='out'>
</pre>
</body>
</html>
La función init() asigna el elemento previo a una variable:
var out_div;
function init() {
out_div = document.getElementById('out')
return 1;
}
Entonces , para imprimir algo en el pre-div, uso esta función:
function txt_out(txt) {
out_div.innerHTML += "\n" + txt
}
La nueva línea debe asegurarse de que cada invocación de txt_out se escriba en su propia línea. Esto funciona como se esperaba en Firefox. IE, sin embargo, no parece prestar atención al \ n. Entonces, ¿esto está mal por parte de IE, o estoy haciendo algo mal?
simplemente
EAK que – Amarghosh
Sí que es un error por parte de IE. IE elimina los espacios en blanco al configurar innerHTML: http://bytes.inso.cc/wp/2009/11/07/internet-explorer-strips-leading-whitespaces-in-text-nodes/ Las bibliotecas pueden ayudar a aliviar esto (jQuery I sabe hacer con su método '.html()'). –
En caso de duda, IE está equivocado. –