Foros del Web » Programando para Internet » Node.js »

Generar HTML mediante createTextNode

Estas en el tema de Generar HTML mediante createTextNode en el foro de Node.js en Foros del Web. Saludos a todos Estoy creando una tabla de manera dinámica, de manera que voy creando filas o eliminandolas según necesite. Los contenidos de la tabla ...
  #1 (permalink)  
Antiguo 30/01/2007, 06:38
 
Fecha de Ingreso: agosto-2004
Mensajes: 312
Antigüedad: 20 años, 3 meses
Puntos: 0
Generar HTML mediante createTextNode

Saludos a todos

Estoy creando una tabla de manera dinámica, de manera que voy creando filas o eliminandolas según necesite.

Los contenidos de la tabla los recojo de un array que he cargado previamente.
El problema lo tengo cuando intento insertar un <br>. El contenido del array tiene en algunos casos varios parrafos y quiero mantener ese formato en las celdas de mi tabla.

He probado con la instrucción
textNode=document.createTextNode(Mensajes[index]);

Previamente he introducido el contenido en en array Mensajes.
El contenido del array lo obtengo mediante php y alli cambio los saltos de línea por <br> pero puedo cambiarlo por otra cosa sin problemas.

Gracias por la colaboración

Un saludo
  #2 (permalink)  
Antiguo 30/01/2007, 09:38
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Re: Generar HTML mediante createTextNode

Si te he entendido bien el problema es que esos párrafos (<p>) o saltos de línea (<br>) te los debe estar insertando como texto ¿no?

confírmame si ese es el problema

un saludo
  #3 (permalink)  
Antiguo 31/01/2007, 01:32
 
Fecha de Ingreso: agosto-2004
Mensajes: 312
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Generar HTML mediante createTextNode

Lo que quiero es meter la información que obtengo de mi base de datos dentro de un <td>.
Voy creando las filas y las celdas de la tabla a medida que me hace falta.

Lo que ocurre es que la información ocupa varios parrafos. La consulta a la base de datos me devuelve el salto de línea. He intentado sustituir el salto de línea por la etiqueta <br> pero me lo escribe de manera literal.

Lo que quiero es saber como puedo insertar una etiqueta HTML dentro de un TextNode sin que lo tome de manera literal, sino que lo interprete como lo que realmente es.

Si intento hacer link <a href=''></a> me lo escribe tal cual en la web, no lo convierte en un enlace.

Supongo que tendría que crear cada elemento con CreateElement, pero no se como crear esos elementos dentro de TextNode.

No se si habrá quedado claro lo que quiero saber. A veces me explico como un libro cerrado.

Si alguien conoce un buen tutorial o un libro que hable sobre la creación de elementos dinámicos en javascript, se lo agradecería (en español si puede ser)

Gracias por el interés
  #4 (permalink)  
Antiguo 31/01/2007, 01:49
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Re: Generar HTML mediante createTextNode

hola chemon

Se me ocurre que puedes dividir el texto en párrafos con split

texto = texto.split('<br>');

Recorres el array texto, cada párrafo lo añades con createTextNode y los saltos de línea con document.createElement('br')

Espero que te sirva. Saludos,
  #5 (permalink)  
Antiguo 31/01/2007, 01:57
 
Fecha de Ingreso: agosto-2004
Mensajes: 312
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Generar HTML mediante createTextNode

Gracias JavierB.

Voy a probar lo que me dices y te comento
  #6 (permalink)  
Antiguo 31/01/2007, 02:18
 
Fecha de Ingreso: agosto-2004
Mensajes: 312
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Generar HTML mediante createTextNode

Funciona estupendamente

Gracias por la ayuda JavierB

Ahora solo necesito algo que me haga acordarme de estas cosas. Conocia el metodo split, pero no me acordaba de él

De nuevo gracias por la ayuda
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 09:06.