jQuery selectors: logical OR

2020-03-01 03:24发布

问题:

I can't seem to see the forest for the trees right now (Looked at the api docs already).
It has to do with jQuery selectors: What I'm trying to do is to select all elements that have class subtitle or headsection. Something like this: $('.headsection || .subtitle');

To be more specific: I want to use this selector with the function nextUntil.

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

As far as I know || is not available in jQuery's selectors. So what's the best way to accomplish that?

Thanks for your help!

回答1:

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

Works for me at least. Read about multiple selectors.



回答2:

It's the same as in CSS selectors:

$('.headsection, .subtitle');


回答3:

Just separate them with a comma:

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


回答4:

You don't really need a logical OR as such, $('.headsection, .subtitle') should do the job.



回答5:

jQuery uses the CSS selector syntax, so if you know that, just put the same selectors into jQuery and bob's your metaphorical uncle. jQuery uses the sizzle selector engine which supports virtually all CSS3 selectors :)

As everyone has already said - the way to do it is this: $content = $some_elements.eq(0).nextUntil('.headsection, subtitle');



回答6:

Would the multiple selector work for what you're doing? Api doc is here.