2010-03-07 10 views
24

Parece que no puedo ver el bosque por los árboles en este momento (Miré ya los documentos api).
Tiene que ver con los selectores de jQuery: Lo que intento hacer es seleccionar todos los elementos que tienen la clase subtitle o headsection. Algo como esto: $('.headsection || .subtitle');jQuery selectores: lógico O

Para ser más específicos: Quiero usar este selector con la función nextUntil.

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

Por lo que yo sé || no está disponible en los selectores de jQuery. Entonces, ¿cuál es la mejor manera de lograr eso?

Gracias por su ayuda!

Respuesta

25

¿Qué hay de: $some_elements.eq(0).nextUntil('.headsection, .subtitle');

Obras para mí al menos. Lea acerca de multiple selectors.

+0

OMG sí, eso funciona. Mientras miraba los documentos, pensé que la coma funcionaría como una AND. Gracias @todos – RamboNo5

+0

@ RamboNo5 Estaba pensando exactamente en la misma lógica pensando en agregar || pero pensando en ello, cómo funciona el CSS, ¿por qué diablos no pensé inicialmente que comma jaja –

4

Sólo separarlos con una coma:

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

Es el mismo que en los selectores CSS:

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

A veces la respuesta obvia es la correcta. –

4

Realmente no necesita una OR lógica, como tal, $('.headsection, .subtitle') debería hacer el trabajo.

3

jQuery utiliza la sintaxis del selector de CSS, por lo que si lo sabes, simplemente coloca los mismos selectores en jQuery y bob es tu tío metafórico. jQuery utiliza el motor sizzle selector que es compatible con prácticamente todos los selectores CSS3 :)

Como todo el mundo ya se ha dicho - la manera de hacerlo es la siguiente: $content = $some_elements.eq(0).nextUntil('.headsection, subtitle');