2014-10-01 82 views
-1

不工作的嘗試:http://jsfiddle.net/ahrxvtaa/遍歷:EQ()選擇在jQuery的

我想3,6,9等。注意,我用的.css()剛剛看到的結果,請不要」 t評論你可以選擇使用CSS。

<div class="item">1</div> 
<div class="item">2</div> 
<div class="item">3</div> 
<div class="item">4</div> 
<div class="item">5</div> 
<div class="item">6</div> 

我的js

$('.item').each(function(){ 
    $(this).eq(3).css('font-weight','bold'); 
} 
+0

'$(這)'是一個單一的元素,而不是將它們的 – Cheery 2014-10-01 03:44:31

回答

3

您可以使用.filter()

$('.item').filter(function(idx) { 
 
    return idx > 2 && idx % 2 == 1 
 
}).css('font-weight', 'bold');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="item">1</div> 
 
<div class="item">2</div> 
 
<div class="item">3</div> 
 
<div class="item">4</div> 
 
<div class="item">5</div> 
 
<div class="item">6</div> 
 
<div class="item">7</div> 
 
<div class="item">8</div> 
 
<div class="item">9</div>


,或者如果所有這些項目都是1個父的孩子和他們之間有沒有其他元素則使用:nth-child selector

$('.item:nth-child(2n + 4)').css('font-weight', 'bold');
.item:nth-child(2n + 4) { 
 
    padding-left: 10px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div> 
 
    <div class="item">1</div> 
 
    <div class="item">2</div> 
 
    <div class="item">3</div> 
 
    <div class="item">4</div> 
 
    <div class="item">5</div> 
 
    <div class="item">6</div> 
 
    <div class="item">7</div> 
 
    <div class="item">8</div> 
 
    <div class="item">9</div> 
 
</div>

+0

我想從第1項跳到第3項?選擇4,6等? – user3522892 2014-10-01 04:04:28

+0

@ user3522892你想要選擇1,4,7,...或1,4,6,...然後你在尋找什麼序列 – 2014-10-01 04:07:29

+0

實際上我想要做的是這個http:// jsfiddle.net/52VtD/8319/embedded/result/ 4,6,8應該是margin-top -100px ..我這樣做的手動,因爲mansory不起作用在我的情況下 – user3522892 2014-10-01 04:13:38

1

您可以使用index參數與.each()

$('.item').each(function(index){ 
    if (index % 3 === 2) { 
     $(this).css('font-weight','bold'); 
    } 
} 

您也可以使用.filter()這樣的:

$('.item').filter(function(index) { 
    return index % 3 === 2; 
}).css('font-weight','bold'); 

正如已經指出的那樣,請注意0的索引是您的項目1,索引1是您的項目2,索引2是您的項目3,因此要獲得3,6,9我們尋找2的餘數。

+0

我想我們所有的人搞得一團糟在模數運算符...它應該是'index%3 === 2' – 2014-10-01 03:56:44

+0

@alexfreiria http://jsfiddle.net/arunpjohny/dgzj70e1/1/ - OP要選擇3,6 ....不是1 ,4 ... – 2014-10-01 04:01:30

+0

@ArunPJohny - 是的,固定的。 – jfriend00 2014-10-01 04:02:02

2

的jQuery 1.9及以上

$('.item:nth-of-type(3n)').css('font-weight','bold');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"> 
 
</script> 
 
<div class="item">1</div> 
 
<div class="item">2</div> 
 
<div class="item">3</div> 
 
<div class="item">4</div> 
 
<div class="item">5</div> 
 
<div class="item">6</div>

+1

很確定你需要':nth-​​type-type(3n)' – elclanrs 2014-10-01 03:49:31

+0

@elclanrs Thanx) – Cheery 2014-10-01 03:51:58

0
$('.item:nth-of-type(3n)').css('font-weight','bold'); 

這將工作

0

模數是一個好主意,這是爲了如果序列不可預測。你可以傳入你正在尋找的數組。

var idx = [3,6,9]; 

for (var i = 0; i < idx.length; i++) { 
    /* Subtract one 1 since it is a 0 based index... */ 
    $('.item').eq(idx[i]-1).css('font-weight','bold'); 
}; 

或做同樣的事情與每一個循環...

idx.each(function(i){ 
    $('.item').eq(i-1).css('font-weight','bold'); 
});