2011-10-31 11 views
3

私は次のスクリプトを持っています。現時点では、私のリストの3番目の項目が選択され、余白はありません。問題はそれが一度だけであるということです。私はそれをリストのすべての3番目のアイテムに起こせる方法はありますか?私は.eachを使ってみましたが、正常に動作するようにはできませんでした。 3nはこれを行うことができます使用してすべての3番目のリスト項目にクラスを適用する

<script> 
$(document).ready(function() { 
    $("#contentlist li:eq(2)").css({marginRight: '0'}); 
}); 
</script> 

答えて

4

nth-child疑似クラス。

$('#contentlist li:nth-child(3n)').css({marginRight: '0'}); 

デモ:http://jsfiddle.net/ThinkingStiff/gjvpR/

HTML:

<ul id="contentlist"> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
</ul> 

スクリプト:

$('#contentlist li:nth-child(3n)').css({marginLeft: '20px'}); 

出力:

enter image description here

(代わりに、余白の色で)

$("#contentlist li:nth-child(3n)").css({marginRight: '0'}); 

デモ:

+0

、 'それが基づくものであるので、第n-child'は、CSSセレクタであり、それがあることを意味します':nth-​​child(3n)'はすべての3番目の要素を選択します。 –

+0

@muistooshortあなたはそのコメントで何を得ているのか分かりません。これとあなたの答えは同じです(これは良い40秒であなたを打ち負かします)。私は悪名高いSOの稲妻の編集を欠場しましたか? – Phil

+0

@ Phil:2回の雷編集では、nth-child(3)、nth-child(3n + 1)、最後にnth-child(3n)でした。 –

関連する問題