jQuery 順便學習下CSS選擇器 奇偶匹配nth-child(even)
更新時間:2010年05月24日 15:11:12 作者:
今天學習jQuery,看到nth-child(even)用法,特意找了下這個選擇器的用法,在CSS3標準中,用法很強大。
對此,我把CSS3標準中nth-child()用法大致介紹下:
CSS3偽類選擇器:nth-child()
簡單的歸納下nth-child()的幾種用法。
第一:nth-child(number) 直接匹配第number個元素。參數(shù)number必須為大于0的整數(shù)。
(EG) li:nth-child(3){background:orange;}/*把第3個LI的背景設為橙色*/
第二:nth-child(an) 匹配所有倍數(shù)為a的元素。其中參數(shù)an中的字母n不可缺省,它是倍數(shù)寫法的標志,如3n、5n。
(EG) li:nth-child(3n){background:orange;}/*把第3、第6、第9、…、所有3的倍數(shù)的LI的背景設為橙色*/
第三:nth-child(an+b) 與 :nth-child(an-b) 先對元素進行分組,每組有a個,b為組內(nèi)成員的序號,其中字母n和加號+不可缺省,位置不可調(diào)換,這是該寫法的標志,其中a,b均為正整數(shù)或0。如3n+1、5n+1。但加號可以變?yōu)樨撎枺藭r匹配組內(nèi)的第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的倍數(shù)減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) 分別匹配序號為奇數(shù)與偶數(shù)的元素。奇數(shù)(odd)與(2n+1)結(jié)果一樣;偶數(shù)(even)與(2n+0)及(2n)結(jié)果一樣。
jQuery中用此方法可以實現(xiàn)條紋效果:
$("table tr:nth-child(even)").addClass("striped");
even 可以換成別的參數(shù),上面介紹的五種情況都可以。
后面的addClass("striped") striped 是個CSS class名稱。
學習jquery順便學習了 CSS中的一些選擇器。
希望能堅持下來。
CSS3偽類選擇器:nth-child()
簡單的歸納下nth-child()的幾種用法。
第一:nth-child(number) 直接匹配第number個元素。參數(shù)number必須為大于0的整數(shù)。
(EG) li:nth-child(3){background:orange;}/*把第3個LI的背景設為橙色*/
第二:nth-child(an) 匹配所有倍數(shù)為a的元素。其中參數(shù)an中的字母n不可缺省,它是倍數(shù)寫法的標志,如3n、5n。
(EG) li:nth-child(3n){background:orange;}/*把第3、第6、第9、…、所有3的倍數(shù)的LI的背景設為橙色*/
第三:nth-child(an+b) 與 :nth-child(an-b) 先對元素進行分組,每組有a個,b為組內(nèi)成員的序號,其中字母n和加號+不可缺省,位置不可調(diào)換,這是該寫法的標志,其中a,b均為正整數(shù)或0。如3n+1、5n+1。但加號可以變?yōu)樨撎枺藭r匹配組內(nèi)的第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的倍數(shù)減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) 分別匹配序號為奇數(shù)與偶數(shù)的元素。奇數(shù)(odd)與(2n+1)結(jié)果一樣;偶數(shù)(even)與(2n+0)及(2n)結(jié)果一樣。
jQuery中用此方法可以實現(xiàn)條紋效果:
$("table tr:nth-child(even)").addClass("striped");
even 可以換成別的參數(shù),上面介紹的五種情況都可以。
后面的addClass("striped") striped 是個CSS class名稱。
學習jquery順便學習了 CSS中的一些選擇器。
希望能堅持下來。
相關(guān)文章
有關(guān)easyui-layout中的收縮層無法顯示標題的解決辦法
本文由腳本之家小編給大家介紹有關(guān)easyui-layout中的收縮層無法顯示標題的原因分析及解決辦法,感興趣的朋友可以參考下2016-05-05
Django中使用jquery的ajax進行數(shù)據(jù)交互的實例代碼
這篇文章主要介紹了Django中使用jquery的ajax進行數(shù)據(jù)交互的相關(guān)知識,非常不錯,具有參考借鑒價值 ,需要的朋友可以參考下2017-10-10
20款非常優(yōu)秀的 jQuery 工具提示插件 推薦
工具提示(Tooltip)在網(wǎng)站中的一個小功能,但卻有很重要的作用,常用于顯示一些溫馨的提示信息。如果網(wǎng)站中的工具提示功能做得非常有創(chuàng)意的話能夠加深用戶對網(wǎng)站印象2012-07-07
jquery實現(xiàn)輸入框動態(tài)增減的實例代碼
主要功能是動態(tài)增減輸入框,而且支持對各個輸入框的檢測,每個輸入框在輸入內(nèi)容后,對其進行錯誤提示2013-07-07
基于jquery實現(xiàn)的鼠標拖拽元素復制并寫入效果
基于jquery實現(xiàn)的鼠標拖拽元素復制并寫入效果的實現(xiàn)代碼,需要的朋友可以參考下。2011-08-08

