Powiedz, że mam <dl>
z ukrytymi wszystkimi <dd>
. Kliknięcie <dt>
przełącza <dd>
s, które następują go za pomocą następującego kodu:Jak wybrać rodzeństwo() z wielu elementów?
$(this).nextUntil('dt').toggle();
http://jsfiddle.net/mblase75/FZQj7/
Teraz chcę, aby automatycznie ukryć <dd>
s po innych <dt>
s, więc staram się chwycić rodzeństwo z tym kodem:
$(this).nextUntil('dt').toggle()
.siblings().filter('dd').hide();
http://jsfiddle.net/mblase75/FZQj7/1/
Ale nic się nie dzieje, ponieważ każdy <dd>
już wybrałem z .nextUntil
jest rodzeństwem dla siebie. W rezultacie wszystkie są ukryte i nic się nie pokazuje.
Musi być zwarty sposób, aby powiedzieć jQuery, aby wybrała wszystkie rodzeństwo, Z WYJĄTKIEM tych, które już wybrałem, ale nie widzę tego. Pomysły?
Sprytne myślenie lateralne tam. Nawiasem mówiąc, możesz skrócić '.parent(). Find (" dt ")' do 'siblings ('dt')', którego nie zdawałem sobie sprawy zanim zrobi to lbstr. – Blazemonger
@Blazemonger To by było więcej niż tylko zmiana tych dwóch metod na .siblings(), http://jsfiddle.net/FZQj7/13/ –
To jest rozwiązanie, którego używam: http://jsfiddle.net/mblase75/FZQj7/14/- preferowane w stosunku do innych ze względu na elegancję i jednopoziomowe łańcuchy. – Blazemonger