<div id="target">
<div id="exclude"></div>
<div></div>
...
</div>
$('#target').children().hide();
ocultará todo.Cómo ocultar todos los elementos secundarios excepto uno específico con jQuery?
<div id="target">
<div id="exclude"></div>
<div></div>
...
</div>
$('#target').children().hide();
ocultará todo.Cómo ocultar todos los elementos secundarios excepto uno específico con jQuery?
Lo que quieres hacer es ocultar todos los hermanos de un elemento en particular. Eso es relativamente sencillo con jQuery utilizando el método .siblings
:
$("#exclude").siblings().hide();
Esto ocultará todos los elementos en el mismo nivel, en el mismo elemento padre.
Utilice el :not
¿Ha intentado utilizar el selector de "no" con el ID que desea excluir?
http://docs.jquery.com/Selectors/not#selector
Además, la respuesta obvia sería seguir con un $ ('# excluyen'). Show()
Creo que $('#target > div').not('#exclude').hide()
debe hacer lo que quiera.
o, alternativamente, si quieres sub-niños que son divs también, $('#target div').not('#exclude').hide()
$('#target').children().hide();
$('#exclude').show();
+1 jQuery es genial !! – andrewb