PDA

Ver la versión completa : Problemas con el innerHTML



biyonder
03-12-2008, 19:55
Hola chicos. Mirad, estoy intentando hacer un calendario en javascript, pero tengo un serio problema con el atributo innerHTML del bloque div donde quiero meter la tabla del calendario generado:

Resulta que en primer lugar hago un obj.innerHTML="<table>" para iniciar la etiqueta de tabla. Hasta ahi bien. Pero el problema llega cuando posteriormente hago un obj.innerHTML+="<tr>" para insertar una nueva fila. Segun puedo visualizar con la opcion View generated source del Web developer toolbar, dentro del div del obj en cuestion se me genera lo siguiente:

<table></table><tr></tr>

Es decir, parece como que en cada orden del innerHTML, cerrase las etiquetas siguiendo asi las reglas de XHTML. He visto ejemplos del calendario pero usando document.write, pero ¿me serviría para localizar el calendario en un div específico en mi página? Porque document.write escribe en el objeto document, no se. A ver si podeis ayudarme, gracias

KaoS
04-12-2008, 00:11
biyonder supongo que el navegador te "arregla" el html cuando ve una etiqueta no cerrada, por tanto te recomiendo que lo que hagas sea ir guardando el código en una variable temporal de Javascript y luego se la asignes al objeto a ver si así no te da problemas.
Osea:

var aux="<table>";
obj.innerHTML=aux;
aux+="<tr>";
obj.innerHTML=aux;


Ya nos cuentas, un saludo!

biyonder
04-12-2008, 21:25
Gracias KaoS pero encontre la solución. Es un poco enrevesada pero sirve. Se trata de ir metiendo etiquetas con Id y cerrarlas, y luego, referenciarme a ellas para meter contenido dentro. Por ejemplo:

innerHTML="<table id="ola"/>"
document.getElementById("ola").innerHTML="<tr id="ola">Nueva fila</tr>"

KaoS
06-12-2008, 16:57
De nada, me alegro que dieras con la solución :).

Salu2!

P.D: aquí seguimos para lo que necesites ;-D