Foros del Web » Programando para Internet » Javascript »

innerHTML no me coge bien los div

Estas en el tema de innerHTML no me coge bien los div en el foro de Javascript en Foros del Web. Hola, tengo esto: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original var texto = document. createElement ( 'div' ) ;             ...
  #1 (permalink)  
Antiguo 08/09/2010, 13:14
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
innerHTML no me coge bien los div

Hola, tengo esto:

Código Javascript:
Ver original
  1. var texto = document.createElement('div');
  2.  
  3.                     texto.innerHTML+= '<table border=0 cellpadding=0 cellspacing=0>';
  4.                     texto.innerHTML+= '<tr>';
  5.                     texto.innerHTML+= '<td width=550><div align=justify>';
  6.                     if (imagenameauthor != "")
  7.                     {
  8.                         texto.innerHTML+= '<img src=../images/'+imagenameauthor+' width=50 height=50 align=left style=\'align:left; border-style: solid; border-width: 1px; border-bottom-color: #3B5998; border-right-color: #113A7C; border-left-color: #113A7C; border-top-color: #113A7C; margin-right:5px\';>';
  9.                     }
  10.                     texto.innerHTML+= '<span class=ver12azuosc><b>'+newauthor+'. </b></span><span class=ver12neg>'+newcomment+'</span></div></td>';
  11.                     texto.innerHTML+= '</tr>';
  12.                     texto.innerHTML+= '<tr>';
  13.                     texto.innerHTML+= '<td width=550 height=3></td>';
  14.                     texto.innerHTML+= '</tr>';
  15.                     texto.innerHTML+= '<tr>';
  16.                     texto.innerHTML+= '<td width=550>';
  17.                     texto.innerHTML+= '<div align=right>';
  18.                     texto.innerHTML+= '<span class=ver10gris>'+label_moments_ago+'</span>';
  19.                     texto.innerHTML+= '<span class=ver10gris> &middot; IP </span>';
  20.                     texto.innerHTML+= '<span class=ver10gris>'+ip+'</span>';
  21.                     texto.innerHTML+= '</div>';
  22.                     texto.innerHTML+= '</td>';
  23.                     texto.innerHTML+= '</tr>';
  24.                     texto.innerHTML+= '</table>';                                                                          
  25.                     texto.innerHTML+= '<table border=0 cellpadding=0 cellspacing=0>';
  26.                     texto.innerHTML+= '<tr width=550 height=5>';
  27.                     texto.innerHTML+= '<td class=ver10azuosc width=450></td>';
  28.                     texto.innerHTML+= '<td class=ver10azuosc height=5>';                                   
  29.                     texto.innerHTML+= '</td>';
  30.                     texto.innerHTML+= '</tr>';
  31.                     texto.innerHTML+= '</table>';
  32.                     texto.innerHTML+= '<table border=0 cellpadding=0 cellspacing=0>';
  33.                     texto.innerHTML+= '<tr height=1>';
  34.                     texto.innerHTML+= '<td height=1 width=550 bgcolor=EEE9E9></td>';
  35.                     texto.innerHTML+= '</tr>';
  36.                     texto.innerHTML+= '</table>';
  37.                     texto.innerHTML+= '<table border=0 cellpadding=0 cellspacing=0>';
  38.                     texto.innerHTML+= '<tr width=550 height=5>';
  39.                     texto.innerHTML+= '<td height=5></td>';
  40.                     texto.innerHTML+= '</tr>';
  41.                     texto.innerHTML+= '</table>';

el tema es q no me coge el align=right de la capa <div> ni creo q tampoco las tablas, algo estoy haciendo mal pero no sé q...
  #2 (permalink)  
Antiguo 08/09/2010, 13:20
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: innerHTML no me coge bien los div

Hola

Yo de diseño poco, así que lo único que puedo decirte es que pruebes con la propiedad float

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 08/09/2010, 13:31
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: innerHTML no me coge bien los div

no es tema de diseño realmente sino de q no coge el div align=right ni siquiera las tablas.

la propiedad float dónde, cómo?
  #4 (permalink)  
Antiguo 08/09/2010, 14:35
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: innerHTML no me coge bien los div

Hola

A ver, tu lo que quieres es alinear en el td esto a la derecha
Cita:
texto.innerHTML+= '<div align=right>';
texto.innerHTML+= '<span class=ver10gris>'+label_moments_ago+'</span>';
texto.innerHTML+= '<span class=ver10gris> &middot; IP </span>';
texto.innerHTML+= '<span class=ver10gris>'+ip+'</span>';
texto.innerHTML+= '</div>';
Pues prueba con
Cita:
texto.innerHTML+= '<div style="float:right;">';
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 08/09/2010, 15:06
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: innerHTML no me coge bien los div

ok, he estado haciendo multitud de pruebas. el tema -creo- es q si pongo todo el texto en una sola línea, es decir un texto.innerHTML+= '................................................. ...' muy largooooo, con todo el código seguido parece q funciona.

digo parece pq sólo he podido probar con parte del código
  #6 (permalink)  
Antiguo 08/09/2010, 15:29
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: innerHTML no me coge bien los div

confirmado, si pongo todo el código en la misma línea, todo seguido, funciona.

el problema es q tengo un if en medio, a ver cómo lo soluciono. de todas formas es muy raro...
  #7 (permalink)  
Antiguo 08/09/2010, 15:29
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: innerHTML no me coge bien los div

align es una propiedad depreciada, debes usarlo tal como te dice @Adler, además, cada vez que usas innerHTML se ejecuta el analizador DOM internamente, lo que vuelve lento el script, es por ello que debes de pasar todo el HTML de una vez, se que es largo, pero ¿porque no usas una variable primero?, es mejor, tienes tu código como quieras, resuelves el problema del if y aumentas el rendimiento del script:

Código Javascript:
Ver original
  1. var html = '<table border=0 cellpadding=0 cellspacing=0>';
  2. html +=  '<tr>';
  3. //... (lo que sigue)
  4. var texto = document.createElement('div');
  5. texto.innerHTML = html; //no te parece mejor?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #8 (permalink)  
Antiguo 08/09/2010, 17:41
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: innerHTML no me coge bien los div

gran idea maycolalvarez.

lo del if tb lo he solucionado con una variable q será a blancos si no se cumple la condición. lo q me sigue pareciendo raro es q tengo q poner todo -cada una de las <table>.....</table> completa en una línea, raro...

bueno, al final me funciona, q es lo q vale

Etiquetas: innerhtml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:14.