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

Clonacion y nodeValue

Estas en el tema de Clonacion y nodeValue en el foro de Node.js en Foros del Web. Hola foreros: Estoy haciendo una funcion para clonar elementos con su contenido, pero me esta empezando a doler la cabeza, jeje. Mi problema viene con ...
  #1 (permalink)  
Antiguo 14/08/2010, 16:26
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 8 meses
Puntos: 19
Clonacion y nodeValue

Hola foreros:

Estoy haciendo una funcion para clonar elementos con su contenido, pero me esta empezando a doler la cabeza, jeje.

Mi problema viene con los comentarios HTML, es decir:
Código HTML:
Ver original
  1. <!--Esto es un comentario HTML-->

¿Existe algun modo de identificar un comentario por medio de DOM?

Os pongo un ejemplo:

Código Javascript:
Ver original
  1. for (var i=0;i<what.childNodes.length;i++)
  2.         {
  3.             //investigation
  4.                 if(!what.childNodes[i].tagName || what.childNodes[i].tagName=='undefined')
  5.                     {
  6.                         //texto, pero tambien me saca los comentarios...
  7.                     }
  8.                 else
  9.                     {
  10.                         //un div, un input...
  11.                     }
  12.         }

Es que mi problema es bastante raro. Cuando clono un comentario con JS de este modo:
Código Javascript:
Ver original
  1. text=document.createTextNode(what.childNodes[i].nodeValue);
  2. where.appendChild(text);

El JS me quita los "<! -->", por lo que el comentario queda a la vista del usuario, muy raro, jeje.

Código HTML:
Ver original
  1. Comentario en mi codigo fuente al cargar la web:
  2.      <!--Esto es un comentario HTML-->
  3. Comentario al clonar, a la vista del usuario:
  4.      Esto es un comentario HTML

¿Sabeis algo del tema?... no quiero usar por nada del mundo innerHTML, ya se que que con ese sistema va bien, pero no me vale.
  #2 (permalink)  
Antiguo 14/08/2010, 16:50
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 6 meses
Puntos: 834
Respuesta: Clonacion y nodeValue

Fijate si esto de da alguna idea:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Documento sin título</title>
<
script>
onload=function(){
    var 
desde=document.body;
    var 
i=0;
    while(
desde.childNodes[i]){
        if(
desde.childNodes[i].nodeType==8){
            
alert(desde.childNodes[i].data);    
        }
        
i++;
    }
}
</script>
</head>

<body>
Comentario en mi codigo fuente al cargar la web:
     <!--Esto es un comentario HTML-->
</body>
</html> 
  #3 (permalink)  
Antiguo 14/08/2010, 16:53
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 6 meses
Puntos: 834
Respuesta: Clonacion y nodeValue

Cita:
no quiero usar por nada del mundo innerHTML
Cuál es la razón?
Sabías que es bastante más rápido y ya parte del estandar html 5?
  #4 (permalink)  
Antiguo 14/08/2010, 17:32
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 8 meses
Puntos: 19
Respuesta: Clonacion y nodeValue

Hola Panino5001,

No sabia lo del estandar, pensaba que no se debia usar. La funcion ya tiene un tiempo, y en un principio la escribi para simplemente no usar innerHTML, la de trabajo que me hizo pasar!... jeje. Luego la mejores añadiendole la capacidad de cambiar determinadas clases por otras, cambiar atributos y demas. Es algo fascinante, jeje.

Por ejemplo tienes un formulario con un sistema jerarquico donde se puede crear mas elementos de los que existen, es decir, por ejemplo un esquema en el que cada apartado tiene muchos campos. Si necesitas cambiarles a todos los elementos de clase x su id, para que tenga sentido en el arbol jerarquico... pues es super util, jeje.

Bueno... gracias por la ayuda... ya solucione el problema con lo que me dijiste, jeje... pensar que hasta ahora nunca me habia ocurrido el problema con los comentarios me extraña, jeje...

Gracias. :D
  #5 (permalink)  
Antiguo 14/08/2010, 17:55
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Clonacion y nodeValue

a modo de referencia adicional. en tu codigo no veo el metodo que utilizabas para clonar elementos, pero tambien podias haber utilizado el metodo cloneNode. lo que te sucedia de los comentarios era porque estabas tomando directamente el texto. de todos modos para crear un comentario con los metodos DOM se utiliza document.createComment.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 14/08/2010, 18:26
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 8 meses
Puntos: 19
Respuesta: Clonacion y nodeValue

Hola zerokilled...

Ok!... gracias a ti tambien... me lo apunto para mañana, jeje... que ya tengo sueño!... jeje.

Sobre lo de cloneNode... no me acuerdo muy bien la razon por abandonar esa funcion para siempre!... pero tenia una gran GRAN razon... pero se me olvido!... jojo.

Pero recuerdo como si fuese ayer... que empece con cloneNode... y termine creando el elemento poco a poco con los atributos... con poca imaginacion, jeje...

gracias!.

Etiquetas: javascript
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 23:28.