[jQuery-es] Como seleccionar <ul> dentro de una lista y desplegar sus elementos hijos

Rafa Garcia rafa.garcia en fullsix.com
Jue Ene 4 04:02:36 PST 2007


Juan G. Hurtado escribió:
> Buenas,
>
>> Perfecto, Juan, va como la seda pero con una salvedad; en este código...
>>
>> $(document).ready(function(){
>>        $("ul:not(:first)").hide(); /*contrae todas las listas excepto 
>> la principal*/
>>        $('ul:first>li').click(function() {
>>            $("ul:not(:first)").hide(); /*contrae todas las listas 
>> excepto la principal*/
>>            $(this).find('ul').show('slow'); /*muestra todos los uls 
>> dependientes del li seleccionado*/
>>        });
>>    });
>>
>> ...cuando despliego un submenú y pulso en un elemento de ese submenú, 
>> vuelven a contraerse todos los elementos de lista, y esto no debería 
>> pasar porque el selector marca que sea el li de los ul de primer 
>> nivel, ¿cierto?
>> Tutorial de selectores ya ;-)
>
> Siempre puedes colocarle un id o un class al <ul> principal, así los 
> selectores serán más sencillos y directos ;)

De todos modos, por mas que pruebo con los selectores que marca la web 
de jquery (http://jquery.com/docs/Base/Expression/CSS/), no consigo 
aislar el click sólo para el li que sea primer hijo del ul principal; o 
sea, quiero que el evento se dispare al pulsar los lis de primer nivel 
(<ul><li>), no los sucesivos (<ul><li><ul><li>).

¿Alguna sugerencia?

Por cierto, espectacular el toggleClass ;-). Una maravilla esto del jquery.

>
> -- 
> Juan G. Hurtado
> [ juan.g.hurtado en gmail.com ]
> [ http://armonia.spiral-static.org/ ]
>
>
>
>



Más información sobre la lista de distribución jquery-es