Digamos que tengo un <dl>
con todos los <dd>
s escondidos. Al hacer clic en un <dt>
alterna el <dd>
s que le siguen usando el siguiente código:¿Cómo selecciono los hermanos() de múltiples elementos?
$(this).nextUntil('dt').toggle();
http://jsfiddle.net/mblase75/FZQj7/
Ahora, yo quiero ocultar automáticamente el <dd>
s después de los otros <dt>
s, por lo que tratan de captar la hermanos con este código:
$(this).nextUntil('dt').toggle()
.siblings().filter('dd').hide();
http://jsfiddle.net/mblase75/FZQj7/1/
Pero no ocurre nada, porque cada <dd>
que ya he seleccionado con .nextUntil
es un hermano entre sí. Como resultado, están todos ocultos y no se muestra nada.
Debe haber una forma compacta de decirle a jQuery que seleccione todos los hermanos EXCEPTO los que ya he seleccionado, pero no puedo verlo. Ideas?
inteligente pensamiento lateral allí. Por cierto, puedes acortar '.parent(). Find (" dt ")' a 'siblings ('dt')', que no me di cuenta antes de que lo hiciera lbstr. – Blazemonger
@Blazemonger Tomaría algo más que simplemente cambiar esos dos métodos a .siblings(), http://jsfiddle.net/FZQj7/13/ –
Esta es la solución que estoy usando: http://jsfiddle.net/mblase75/FZQj7/14/- preferido sobre los demás debido a su elegancia y encadenamiento de línea única. – Blazemonger