2010-03-07 13 views
24

Nie mogę teraz zobaczyć lasu dla drzew (patrz już api docs).
Ma to związek z selektorami jQuery: Próbuję wybrać wszystkie elementy, które mają klasę subtitle lub headsection. Coś takiego: $('.headsection || .subtitle');selektory jQuery: logiczne LUB

Bardziej szczegółowo: chcę użyć tego selektora z funkcją nextUntil.

$content = $some_elements.eq(0).nextUntil('.headsection || subtitle'); 

O ile wiem || nie jest dostępny w selektorów jQuery. Jaki jest najlepszy sposób, aby to osiągnąć?

Dzięki za pomoc!

Odpowiedz

25

Co o: $some_elements.eq(0).nextUntil('.headsection, .subtitle');

pracuje dla mnie przynajmniej. Przeczytaj o multiple selectors.

+0

OMG tak, że działa. Kiedy przeglądałem dokumenty, myślałem, że przecinek zadziała jak ORAZ. Dzięki @all – RamboNo5

+0

@ RamboNo5 Myślałem o dokładnie tym samym logicznym myśleniu o dodawaniu || ale myśląc o tym, jak działa css, dlaczego na ziemi początkowo nie myślałem, haha ​​ –

4

Wystarczy oddzielić je przecinkami:

$content = $some_elements.eq(0).nextUntil('.headsection, subtitle'); 
46

To taka sama jak w selektorów CSS:

$('.headsection, .subtitle'); 
+4

Czasami odpowiedź jest oczywista. –

4

Tak naprawdę nie potrzebujesz logicznego OR jako takiego, $('.headsection, .subtitle') powinien wykonać zadanie.

3

jQuery używa składni selektora CSS, więc jeśli wiesz, po prostu umieść te same selektory w jQuery, a Bob to twój metaforyczny wujek. jQuery używa silnika sizzle selektora, który obsługuje praktycznie wszystkie selektorów CSS3 :)

Jak każdy już powiedział - sposób, aby zrobić to w ten sposób: $content = $some_elements.eq(0).nextUntil('.headsection, subtitle');