2014-09-26 31 views
-2

我試圖將一個類應用到帖子的一對。在jQuery中選擇對 - 兩個關閉兩個

我有一個循環.post s和需要選擇他們(與JS)在兩個 - 兩個選中,兩個未選中。

該屏幕截圖顯示了爲什麼 - 所以我可以將標題左移或右移兩位。

可以用這種方式選擇嗎?謝謝,所有!

layout objective

+2

您可以發佈您的HTML和CSS? – j08691 2014-09-26 15:02:06

+2

這可以通過CSS輕鬆完成;但是因爲你明顯保留了HTML和CSS,所以我們沒有太多的工作可以幫助。請:*將您的([MCVE](http://stackoverflow.com/help/mcve/))代碼添加到您的問題*;幫助*我們*幫助*你*。 – 2014-09-26 15:43:48

回答

0

試試這個:

var even = true; 
$('.post:even').each(function() { 
    var set = $(this).next().andSelf(); 
    // Do stuff with set... 
    set.addClass(even ? "even-pair" : "odd-pair"); 
    even = !even; 
}); 

它將選擇偶數元素,然後下一個(奇數)元素添加到組...

+0

我把它改成'andSelf';) 無論如何,它恐怕不起作用。它匹配每個.post,並將類添加到每個: – 2014-09-26 15:34:27

+0

啊,愚蠢的錯字 - 固定...你的HTML看起來像什麼?這個解決方案應該只適用於.post元素列表,沒有其他選擇器 – Centril 2014-09-26 15:37:33

0

類似的東西?

http://jsfiddle.net/OxyDesign/axtxm3k1/

JS

$(document).ready(function(){ 
    var count = 0, 
     even = true; 

    $('li').each(function(){ 
     if(count >= 2){ 
      count = 0; 
      even = !even; 
     }; 
     $(this).addClass(even ? 'even' : 'odd'); 
     count++; 
    }); 
}); 
+0

爲什麼使用這種機制時,你可以像我這樣使用一個簡單的布爾值,並使用:甚至選擇器? – Centril 2014-09-26 15:35:13

+0

因爲他要求將它們加2。所以** 1 **和** 2 **有類'even',然後** 3 **&** 4 ** class'odd',然後** 5 **&** 6 **'even',然後** 7 **&** 8 **'奇怪的......或者也許我不明白需要 – OxyDesign 2014-09-26 15:42:02

+0

是的,這就是他所要求的 - 但這可以通過迭代每個偶數元素並將奇數添加到集合並使用布爾值來跟蹤它是否完成你甚至可以這樣做:** even =!even; **然後** addClass(even?'even':'odd'); ** – Centril 2014-09-26 15:45:16