2010-03-07 20 views
24

Ich kann nicht scheinen, den Wald für die Bäume im Moment zu sehen (Blick auf die api Dokumente bereits).
Es hat mit jQuery Selektoren zu tun: Was ich versuche zu tun, ist, alle Elemente, die Klasse subtitle oder headsection haben. Etwas wie dieses: $('.headsection || .subtitle');jQuery Selektoren: logische ODER

Um genauer zu sein: Ich möchte diesen Selektor mit der Funktion nextUntil verwenden.

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

Soweit ich weiß, ist, || in jQuery Selektoren nicht zur Verfügung. Was ist der beste Weg, um das zu erreichen?

Danke für Ihre Hilfe!

Antwort

25

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

Works für mich zumindest. Lesen Sie über multiple selectors.

+0

OMG ja, das funktioniert. Als ich die Dokumente durchblätterte, dachte ich, das Komma würde wie ein AND funktionieren. Danke @all – RamboNo5

+0

@ RamboNo5 Ich dachte über genau das gleiche logische Denken nach Hinzufügen von || aber darüber nachdenken, wie css funktioniert, warum auf der Erde habe ich nicht zu Beginn denken Komma haha ​​ –

4

trennen sie einfach mit einem Komma:

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

Es ist das gleiche wie in CSS-Selektoren:

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

Manchmal ist die offensichtliche Antwort die richtige. –

2

Würde der mehr Wähler Arbeit für das, was Sie tun?

4

Sie brauchen nicht wirklich ein logisches ODER als solches, $('.headsection, .subtitle') sollte die Aufgabe erledigen.

3

jQuery verwendet die CSS-Selektorsyntax. Wenn Sie das wissen, setzen Sie einfach dieselben Selektoren in jQuery und bob ist Ihr metaphorischer Onkel. jQuery verwendet die sizzle Motor Selektor, der Wähler praktisch alle CSS3 unterstützt :)

Wie jeder schon gesagt - die Art und Weise, es zu tun, ist dies: $content = $some_elements.eq(0).nextUntil('.headsection, subtitle');