2011-06-02 17 views
7

JQuery'nin böyle bir şey yapıp yapamayacağını veya bunu yapmanın başka bir yolu olup olmadığını merak ediyorum.jQuery desteğini VEYA seçicilerinde mi yapıyor?

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

I row_c olması ya da row_d ancak mandalı bu row_c veya row_d çok göstermek için satırlar row_a ve row_b alternatif başka bir dizi arasına sokulur son satır bulmak istiyoruz Sıraların adres:

  • row_a
  • row_b
  • row_c
  • row_c row_d < - Bu
  • bulmak için gereğini - Gerek row_c
  • row_b

VEYA

  • row_a bu
  • row_a
  • row_b bulmak için
  • < row_d
  • row_a
  • row_b

Kullanabileceğimiz | veya jQuery'de operatör Yoksa benzer bir şey var mı?

+0

Ayrıca normal bir ifade, '^ row_ [cd]' –

cevap

1

Sadece farklı seçiciler için ayırıcı olarak virgül kullanın:

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

DÜZENLEME:

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

Evet, öyle inanıyorum ama CSS şekilde (bir kanıtı olarak jsfiddle) içinde

Sadece row_c veya row_d sınıfına sahip son elemanı eşleştirmek istiyorsanız, t o (bir kanıtı olarak jsfiddle) böyle bir şey kullanın: Sizin biraz orada mantık kavramları karıştırma

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

bu yaklaşım değildir ya da – Paul

+2

son sınıfların, her iki uygular kullanabilirsiniz @ codehunter Düzenlenmiş cevabı gör. – Tadeck

+2

Mükemmel! Kutudan yeterince düşünmüyordum! Mükemmel! – Paul

1

. Bir and olacağını

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

bunları birleştirmek için: Basit or yapmak için, sadece bir virgül ile seçicileri ayırmak

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

Ama eğer aradığınız ne olduğunu sanmıyorum. Belirli bir satır çiftini arıyor ve ikinci öğe üzerinde hareket etmek istiyor.

Böyle bir şey yapacağını:

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

$ (". This, .orThat"), hem bu VEYA hem de benim durumum için geçerlidir. Ayrıca, sonraki her ikisi de son olarak yapar. – Paul

+0

ah, pardon, evet bu son örnek tam olarak aradığınız şey değil. –

İlgili konular