Angenommen, ich habe eine <dl>
mit allen <dd>
s ausgeblendet. Ein Klick auf ein <dt>
schaltet die <dd>
s, die es mit dem folgenden Code folgen:Wie wähle ich Geschwister() aus mehreren Elementen?
$(this).nextUntil('dt').toggle();
http://jsfiddle.net/mblase75/FZQj7/
Nun, ich möchte die <dd>
s im Anschluss an die anderen <dt>
s automatisch verstecken, so dass ich versuchen, das packen Geschwister mit diesem Code:
$(this).nextUntil('dt').toggle()
.siblings().filter('dd').hide();
http://jsfiddle.net/mblase75/FZQj7/1/
Aber nichts passiert, weil jeder <dd>
ich bereits mit .nextUntil
ausgewählt habe ist ein Geschwister zueinander. Infolgedessen sind sie alle versteckt und nichts wird gezeigt.
Es muss eine kompakte Möglichkeit geben, jQuery anzuweisen, alle Geschwister auszuwählen, AUSSER denen, die ich bereits ausgewählt habe, aber ich kann es nicht sehen. Ideen?
Clever seitwärts denken. Übrigens können Sie '.parent(). Find (" dt ")' zu 'Geschwister ('dt')' verkürzen, was ich nicht bemerkt habe, bevor lbstr es getan hat. – Blazemonger
@Blazemonger Es würde mehr als nur diese beiden Methoden zu .siblings() ändern, http://jsfiddle.net/FZQj7/13/ –
Dies ist die Lösung, die ich verwende: http://jsfiddle.net/mblase75/FZQj7/14/- wegen seiner Eleganz und der Einlinienverkettung den anderen vorzuziehen. – Blazemonger