jQuery為我們提供了大量的偽類選擇器,其中最常用的偽類選擇器,我們稱為“簡單偽類選擇器”。
在jQuery中,簡單偽類選擇器如下:
舉例::not(selector)
在線測試<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <style type="text/css"> /*去除所有元素默認的padding和margin*/ *{padding:0;margin:0} /*去除列表項默認符號*/ ul{list-style-type:none;} </style> <script type="text/javascript" src="jquery-1.12.0.min.js"></script> <script type="text/javascript"> $(function () { $("li:not(#myLi)").css("color", "red"); }) </script> </head> <body> <ul> <li>第1個選項</li> <li>第2個選項</li> <li id="myLi">第3個選項</li> <li>第4個選項</li> <li>第5個選項</li> <li>第6個選項</li> </ul> </body> </html>
在浏覽器預覽效果如下:
分析:
$("li:not(#myLi)")表示選擇除了id為myLi之外的其他li元素。
舉例::first、:last
在線測試<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <style type="text/css"> /*去除所有元素默認的padding和margin*/ *{padding:0;margin:0} /*去除列表項默認符號*/ ul{list-style-type:none;} </style> <script type="text/javascript" src="jquery-1.12.0.min.js"></script> <script type="text/javascript"> $(function () { $("li:first,li:last").css("color", "red"); }) </script> </head> <body> <ul> <li>第1個選項</li> <li>第2個選項</li> <li>第3個選項</li> <li>第4個選項</li> <li>第5個選項</li> <li>第6個選項</li> </ul> </body> </html>
在浏覽器預覽效果如下:
分析:
$("li:first,li:last")是一個群組選擇器,表示選擇第一個li元素和最後一個li元素。
舉例::odd、:even、:eq(index)、:lt(index)、:gt(index)
在線測試<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <style type="text/css"> /*去除所有元素默認的padding和margin*/ *{padding:0;margin:0} /*去除列表項默認符號*/ ul{list-style-type:none;} </style> <script type="text/javascript" src="jquery-1.12.0.min.js"></script> <script type="text/javascript"> $(function () { $("li:odd").css("color", "red"); }) </script> </head> <body> <ul> <li>第1個選項</li> <li>第2個選項</li> <li>第3個選項</li> <li>第4個選項</li> <li>第5個選項</li> <li>第6個選項</li> </ul> </body> </html>
在浏覽器預覽效果如下:
分析:
$("li:odd")表示選擇索引值為奇數的li元素,這裡要注意一下,索引值是從0開始,而不是從1開始的。也就是說“第1個選項”的li元素索引值為0,“第2個選項”的li元素索引值為1,以此類推。
在上面例子,我們可以嘗試一下使用:even、:eq(index)、:lt(index)、:gt(index)這幾種選擇器測試一下,大家在在線測試中自行修改測試效果。
舉例::header
在線測試<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <style type="text/css"> /*去除所有元素默認的padding和margin*/ *{padding:0;margin:0} </style> <script type="text/javascript" src="jquery-1.12.0.min.js"></script> <script src="jquery.color.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $(":header").css("color", "red"); }) </script> </head> <body> <h1>這是一級標題</h1> <h2>這是二級標題</h2> <h3>這是三級標題</h3> <h4>這是四級標題</h4> <h5>這是五級標題</h5> <h6>這是六級標題</h6> </body> </html>
在浏覽器預覽效果如下:
分析:
此外,還有:animated、:root和:target這3個偽類選擇器。對於:animated,我們在後面的jQuery動畫中會詳細給大家介紹,在這裡就不用實際例子來講解,以免大伙看不懂。而:root和:target這2個偽類選擇器在jQuery中用得極少,就不展示講解,不過大家可以查看一下CSS3教程。