Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/04/2006, 11:45
frijolerou
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 21 años, 2 meses
Puntos: 13
hola Tunait y Caricatos:

Cita:
Iniciado por tunait
tal vez podrías repasarlos y verificar si su parentNode.tagName.toLowerCase() == 'body'
El problema es que un DIV que no es descendiente de otro DIV tampoco sea nodo hijo de BODY. De todoas formas tu respuesta me iluminó y llegué a una solución (no sé si la más óptima, pero me sirvió) que detallo a continuación.


Código:
// Capturo todos los DIVs del documento
lista = document.getElementsByTagName('DIV');

// Recorro el contenido de la lista mediante un bucle.
for(i=0; i<lista.length; i++){
    /* 
      De manera recursiva voy recorriendo los "nodos ancestros" (ni idea 
      cual será el nombre técnico) de cada elemento de la lista, hasta 
      llegar a un DIV o aun BODY (que será mi tope).
    */
    nodoPadre = lista[i].parentNode;
    if(nodoPadre.nodeName != 'DIV' && nodoPadre.nodeName != 'BODY')
        nodoPadre = nodoPadre.parentnode;

    /* 
      Si el valor final de "nodoPadre" es "BODY" significa que el elemento 
      de la lista no es descendiente de un DIV, y por lo tanto, me sirve
    */
    if(nodoPadre.nodeName == 'BODY')
        alert('Este DIV me sirve');

}
__________________
El conocimiento es libre: Movimiento por la Devolución