2011-06-02 97 views
7

我想知道如果jQuery可以做這樣的事情還是有另一種方式來做到這一點?在選擇器中支持jQuery嗎?

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

我已經交變,我想找到最後一排要麼是row_c或者然而row_d美中不足的是,row_c或row_d被另一組交替行row_a和row_b之間插入這樣來說明行:

  • row_a
  • row_b
  • row_c
  • row_d
  • row_c < - 需要找到這個
  • row_a
  • row_b

OR

  • row_a
  • row_b
  • row_c
  • row_d < - 需要找到這個
  • row_a
  • row_b

我們可以使用|或運營商在jQuery?或者有類似的東西嗎?

+0

你也可以使用正則表達式,'^ row_ [CD]' – 2011-06-02 20:32:38

回答

1

只需使用逗號作爲分隔符不同的選擇:

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

是的,我相信是這樣,但是在CSS方式(jsfiddle作爲證明):

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

編輯:

如果您只想匹配類row_crow_d的最後一個元素,您可能希望Ø使用類似的東西(如jsfiddle證明):

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

這種方法,既適用於最後一個班,也不或 – Paul 2011-06-02 20:36:39

+2

的@ codehunter查看編輯答案。 – Tadeck 2011-06-02 20:38:02

+2

完美!我沒有充分考慮到這一點!完善! – Paul 2011-06-02 20:46:59

1

你混合你的邏輯概念有點那裏。做一個簡單的or,你只要用逗號分隔您的選擇:

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

一個and將它們結合起來:

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

但我不認爲這是你在找什麼。您正在尋找一對特定的行,並希望對第二個項目採取行動。

我會做這樣的事情:

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

$(「。this,.orThat」)適用於這個和在我的情況。另外,下一個也會對最後一個做這個。 – Paul 2011-06-02 20:35:24

+0

啊,對不起,是的,最後一個例子不是你想要的。 – 2011-06-02 21:24:59