jQuery 順便學習下CSS選擇器 奇偶匹配nth-child(even)


今天學習jQuery,看到nth-child(even)用法,特意找了下這個選擇器的用法,在CSS3標准中,用法很強大。

對此,我把CSS3標准中nth-child()用法大致介紹下: 

CSS3偽類選擇器:nth-child() 

簡單的歸納下nth-child()的幾種用法。 

第一:nth-child(number) 直接匹配第number個元素。參數number必須為大於0的整數。

(EG) li:nth-child(3){background:orange;}/*把第3個LI的背景設為橙色*/ 

第二:nth-child(an) 匹配所有倍數為a的元素。其中參數an中的字母n不可缺省,它是倍數寫法的標志,如3n、5n。 
(EG) li:nth-child(3n){background:orange;}/*把第3、第6、第9、…、所有3的倍數的LI的背景設為橙色*/ 
第三:nth-child(an+b) 與 :nth-child(an-b) 先對元素進行分組,每組有a個,b為組內成員的序號,其中字母n和加號+不可缺省,位置不可調換,這是該寫法的標志,其中a,b均為正整數或0。如3n+1、5n+1。但加號可以變為負號,此時匹配組內的第a-b個。(其實an前面也可以是負號,但留給下一部分講。) 
(EG)li:nth-child(3n+1){background:orange;}/*匹配第1、第4、第7、…、每3個為一組的第1個LI*/ 
li:nth-child(3n+5){background:orange;}/*匹配第5、第8、第11、…、從第5個開始每3個為一組的第1個LI*/ 
li:nth-child(5n-1){background:orange;}/*匹配第5-1=4、第10-1=9、…、第5的倍數減1個LI*/ 
li:nth-child(3n±0){background:orange;}/*相當於(3n)*/ 
li:nth-child(±0n+3){background:orange;}/*相當於(3)*/ 
第四:nth-child(-an+b) 此處一負一正,均不可缺省,否則無意義。這時與:nth-child(an+1)相似,都是匹配第1個,但不同的是它是倒着算的,從第b個開始往回算,所以它所匹配的最多也不會超過b個。 
(EG) li:nth-child(-3n+8){background:orange;}/*匹配第8、第5和第2個LI*/ 
li:nth-child(-1n+8){background:orange;}/*或(-n+8),匹配前8個(包括第8個)LI,這個較為實用點,用來限定前面N個匹配常會用到*/ 

第五:nth-child(odd) 與 :nth-child(even) 分別匹配序號為奇數與偶數的元素。奇數(odd)與(2n+1)結果一樣;偶數(even)與(2n+0)及(2n)結果一樣。 


jQuery中用此方法可以實現條紋效果: 

$("table tr:nth-child(even)").addClass("striped"); 

even 可以換成別的參數,上面介紹的五種情況都可以。 

后面的addClass("striped") striped 是個CSS class名稱。 

學習jquery順便學習了 CSS中的一些選擇器。 

 

原文:http://www.jb51.net/article/23617.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM