2011-06-02 12 views
7

Me pregunto si jQuery puede hacer algo como esto o hay otra forma de hacerlo?¿JQuery admite O en selectores?

$(".row_c:last|.row_d:last").css("color","red"); 

He filas que yo quiero conocer la última fila, que es ya sea row_c o row_d sin embargo, el problema es que row_c o row_d se inserta en medio de otro conjunto de filas alternas row_a y row_b manera de ilustrar la alternancia:

  • row_a
  • row_b
  • row_c
  • row_d
  • row_c < - necesidad de encontrar este
  • row_a
  • row_b

O

  • row_a
  • row_b
  • row_c
  • row_d < - necesidad de encontrar este
  • row_a
  • row_b

podemos utilizar el | u operador en jQuery? ¿O hay algo similar?

+0

También es posible usar una expresión regular, '^ row_ [cd]' –

Respuesta

1

Sólo tiene que usar una coma como separador para diferentes selectores:

$(".row_c ~ .row_d", ".row_d ~ .row_c").css("color","red"); 
8

Sí, creo que sí, pero de una manera CSS (jsfiddle como prueba):

$(".row_c:last, .row_d:last").css("color","red"); 

EDIT:

Si desea hacer coincidir solo el último elemento con la clase row_c o row_d, puede desear t o utilizar algo por el estilo (jsfiddle como prueba):

$(".row_c, .row_d").last().css("color","red"); 
+0

este enfoque se aplica a las dos últimas clases, no cualquiera o – Paul

+2

@ codehunter Ver respuesta editada. – Tadeck

+2

¡Perfecto! ¡No estaba pensando en la caja lo suficiente! ¡Perfecto! – Paul

1

Su mezclar sus conceptos de la lógica un poco allí. Para hacer una simple or, que acaba de separar sus selectores con una coma:

$(".this, .orThat") // looks for items with one or the other (or both) classes 

Un and sería combinar ellos:

$(".thisClass.andThisClass") // looks for an item with both classes 

Pero no creo que eso es lo que busca. Está buscando un par específico de filas y desea actuar sobre el segundo elemento.

me gustaría hacer algo como esto:

$(".row_d").next(".row_c").dosomething 
+0

$ (". This, .orThat") aplica lo que sea para este y para que en mi caso. Además, Next también lo hace con los dos últimos. – Paul

+0

ah, lo siento, sí, ese último ejemplo no es exactamente lo que estabas buscando. –