Foros del Web » Programando para Internet » Javascript »

Reemplazar texto usando DOM

Estas en el tema de Reemplazar texto usando DOM en el foro de Javascript en Foros del Web. Hola que tal? De que forma puedo reemplazar un texto de un nodo usando DOM? Ejemplo: Código PHP: < div id = "txt" > aqui mi texto </ ...
  #1 (permalink)  
Antiguo 11/11/2007, 18:23
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 16 años, 11 meses
Puntos: 2
Reemplazar texto usando DOM

Hola que tal?
De que forma puedo reemplazar un texto de un nodo usando DOM?

Ejemplo:
Código PHP:
<div id="txt">aqui mi texto</div
Quiero reemplazar la oracion "aqui mi texto" que esta dentro de la divicion "txt".

Si creo un nuevo nodo de texto, y le aplico el metodo
appendChild(nodoNuevoTexto) al nodo "id", este me agrega el contenido junto al ya existente, y lo que quiero es reemplazarlo...
__________________
KIBIT.cl
  #2 (permalink)  
Antiguo 12/11/2007, 01:27
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Reemplazar texto usando DOM

Hola:

Prueba con:

document.getElementById("txt").firstChild.replaceN ode(document.createTextNode("nuevo texto"));

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 12/11/2007, 09:24
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 16 años, 11 meses
Puntos: 2
Re: Reemplazar texto usando DOM

Mm...... no me funciono, pero hice lo siguiente:

Código PHP:
objResult document.getElementById("result");
objPadre objResult.parentNode;
objPadre.removeChild(objResult);
    
objNuevoTexto document.createTextNode("mi nuevo texto");
objNuevoHijo document.createElement("div");
objNuevoHijo.setAttribute("id""result");
objNuevoHijo.appendChild(objNuevoTexto);
objPadre.appendChild(objNuevoHijo); 
No se si existira otro metodo mas "corto" de hacerlo para reemplazar el texto de un elemento.

Y lo otro, de que forma puedo eliminar varios elementos hijos de un elemento padre. Por ejemplo
Código PHP:
<div id"padre">
<
p>hola<p>
<
strong>hola<strong>
</
div 
Donde quiero eliminar todo el contenido del elemento "padre".
__________________
KIBIT.cl
  #4 (permalink)  
Antiguo 12/11/2007, 09:47
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Reemplazar texto usando DOM

Hola Snd234

Puedes usar innerHTML:

Código:
document.getElementById('padre').innerHTML = 'Lo que tú quieras';
Saludos,
  #5 (permalink)  
Antiguo 12/11/2007, 10:23
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 16 años, 11 meses
Puntos: 2
Re: Reemplazar texto usando DOM

lol

estaba tan centrado en el uso de dom que me olvide que tambien existia innerHTML, lo probe y funciona perfecto, ya me ahorre como 10 lineas xD
__________________
KIBIT.cl
  #6 (permalink)  
Antiguo 12/07/2009, 13:41
 
Fecha de Ingreso: mayo-2008
Ubicación: Barcelona
Mensajes: 249
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Reemplazar texto usando DOM

JavierB me interesaria saber si utilizando innerHTML puedo substituir un div por otro.

Si es asi como sería

Gracias
  #7 (permalink)  
Antiguo 13/07/2009, 01:02
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Reemplazar texto usando DOM

Hola:

marcvilap: No revivas un viejo tema para realizar una nueva pregunta, además, si ese div tiene tags hermanos la respuesta podría ser bastante compleja... tal vez sea más aconsejable usar replaceNode.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:17.