alternativa a innerHTML
2 seguidores
Muy wenas, resulta que quiero escribir texto en una capa, parte de ese texto serán etiquetas y quiero que actuen como tal, es decir que si la etiqueta es strong pos que me "stronge" el texto:P, hasta ahi bien, lo tengo conseguido pero a medias, porque resulta que el innerHTML lo que hace es si recibe por ejemplo '<strong>' el directamente te lo cierra es decir pone esto :
<code><strong></strong></code>
Evidentemente yo no quiero eso, quiero que lo deje abierto y ya me encargaré yo de cerrarlo.
Hay alguna alternativa a innerhtml que trabaje igual pero que no cierre los tags??
meddle
guarda el value en una variable temporal y al cerrar etiquetas (solo al cerrar etiquetas) pasa la variable al innerHTML. :)
meddle
olvidalo, para eso no necesitas una var. temporal. dejame pensar.
meddle
el problema es que al tener por ejemplo esto <code><strong>casa</code>el innerHTML te pone esto,<code><strong></strong>casa</code>¿verdad?
dirarck
si, ese es l problema, en cuanto abres la etiketa de negrita, el innerhtml te pone: <code><strong></strong></code>, además (nose si esto es por el inner), el texto que escribas a partir de ahi no se escribe en la capa
meddle
me extraña MUCHO. en cualquier caso lo que si podrias hacer es un array temporal de etiquetas abiertas. al apretar una tecla las etiquetas se van cerrando en orden inverso, y luego todo pasa a innerHTML.
dirarck
lo habia pensado pero preferí postear primero a ver si era más sencillo
meddle
por cierto, recuerda que tienes que añadir el push a tu libreria (o lo que uses) o IE5 pasará de tu culo:
<code>// adds 1 or more elements to an array (IE only)
// by Dave Schontzler, www.stilleye.com
if(!Array.prototype.push)
{
Array.prototype.push = function()
{
var i;
for(i=0; j=arguments[i]; i++) this[this.length] = j;
return this.length;
}
}</code>
dirarck
lo tendré en cuenta de todas formas lo tengo peludo :P, asi k mejor pa el.