Foros del Web » Programando para Internet » Javascript »

Deteccion de nodos de una lista

Estas en el tema de Deteccion de nodos de una lista en el foro de Javascript en Foros del Web. Veran, conozco poco de lo que es la manipulacion del DOM mediante JS, ya se como crear elementos, agregarle nodos, eliminarlos, etc. Sin embargo ahora ...
  #1 (permalink)  
Antiguo 30/03/2010, 08:27
 
Fecha de Ingreso: junio-2008
Mensajes: 131
Antigüedad: 16 años, 4 meses
Puntos: 2
Deteccion de nodos de una lista

Veran, conozco poco de lo que es la manipulacion del DOM mediante JS, ya se como crear elementos, agregarle nodos, eliminarlos, etc.

Sin embargo ahora mismo no me aclaro con algo, necesito detectar si un elemento div contiene un elemento ul que a su vez contiene un elemento li, que este a su vez contiene otro elemento ul:

Código HTML:
<div id="left-menu">
	<ul id="flyout">
		<li><a href="#" title="MEN">MEN</a>
			<ul>
				<li><a href="#" title="Test 01">Test 01</a></li>
			</ul>
		</li>
		<li"><a href="#" title="WOMEN">WOMEN</a></li>
        <li"><a href="#" title="CHILDREN">CHILDREN</a></li>
	</ul>
</div> 
En otras palabras, necesito detectar si dentro de un elemento LI de la lista, hay otro elemento UL con mas elementos LI.

Muchas gracias por su ayuda.
  #2 (permalink)  
Antiguo 30/03/2010, 12:38
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 6 meses
Puntos: 19
Respuesta: Deteccion de nodos de una lista

Hola Charlii,

Pues como me enseñaron hace unas semanas aqui... es sencillo con getElementsByTagName. Mira el codigo:

Código PHP:
<script>
    function 
saber_si_hay_lis(elemento)
        {
            
//creamos la variable que dice que por ahora no hay elementos li
                
$elementos_li=false;
            
//primero saber si tiene un elemento "ul"
                
for (0nodos elemento.getElementsByTagName("ul"); nodos.lengthi++)
                    {
                        
//ahora que sabemos que si existe un elemento ul, miramos si tiene elementos li
                        
for (0nodos elemento.getElementsByTagName("li"); nodos.lengthi++)
                            {
                                
//ahora ya sabemos que tiene elementos li.
                                    
$elementos_li=true;
                                
//guardamos la cantidad de elementos li
                                    
$cuenta_de_elementos=nodos.length;
                            }
                    }
            
//por ultimo preguntamos si se encontraron:
                
if($elementos_li==true)
                    {
                        
alert('se encontraron, es mas se encontraron '+$cuenta_de_elementos);
                    }
                else
                    {
                        
alert('no se encontraron');
                    }
        }
</script>
<div>
    <ul>
        <li onclick="javascript:saber_si_hay_lis(this)">
            Hola
            <ul>
                <li>
                    Existo!
                </li>
                <li>
                    Que existoo!
                </li>
                <li>
                    Que existoo mecachis!
                </li>
            </ul>
        </li>
    </ul>
</div> 

Espero que te sirva!

Etiquetas: deteccion, lista, nodos
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 01:06.