1. 程式人生 > >jQuery所支援的各類CSS選擇器

jQuery所支援的各類CSS選擇器

jQuery In Action  是不錯的技術圖書,主要學習其選擇器,具體使用時可以根據需要檢視示例中的程式碼。對於AJAX方面的應用,個人感覺還是直接選用對應的框架或控制元件完成更合適。

jQuery有子選擇器、容器選擇器和特性選擇器三類選擇器,可以巢狀使用

jQuery所支援的基本CSS選擇器

-------------------------------------------------------------------------------

選擇器                                                             描述

-------------------------------------------------------------------------------

*      匹配任何元素

E      匹配標籤名稱為E的所有元素

E  F      匹配標籤名稱為F,同時作為E的後代節點的所有元素

E>F     匹配標籤名為F,同時作為E的直接子節點的所有元素

E+F     匹配前面是鄰近兄弟節點E的所有元素F(E和F緊挨著)

E-F     匹配前面是任何兄弟節點E的所有元素F(E和F不需要緊挨著)

E:has(F)  匹配標稱名為E,至少有一個標籤名為F的後代節點的所有元素

E.C     匹配類為C的所有元素E

E#idvalue  匹配id為指定的idvalue的元素E

E[A]    匹配帶有特性A的所有元素E

-----------------------------------------------------------------------------------

jQuery的位置選擇器

jQuery支援更高階的位置選擇器:根據在DOM裡的位置來選擇元素

-------------------------------------------------------------------------------------

選擇器                                                                            描述

--------------------------------------------------------------------------------------

:first    第一個匹配項。li a:first返回第一個在<li>中的超連結物件

:last    最後一個匹配項。 li a:last返回最後一個在<li>中的超連結物件

:first-child   第一個子元素。 li:first-child返回每個列表的第一個<li>子元素(第一個li物件)

:last-child   最後一個子元素。li:last-child返回每個列表的最後一個<li>子元素(最後一個li物件)

:only-child  返回沒有兄弟節點的所有對應元素。ul:only-child返回沒有兄弟節點的<ul>元素

:nth-child(n)   返回第n個子節點(n從1開始計數)。li:nth-child(2)返回每個列表的第2個<li>項

:nth-child(even|odd) 返回偶數或奇數的子節點(從1開始計數)。li:nth-child(even)返回每個列表中的偶數<li>項

:nth-child(Xn+Y)  根據傳入的公式計算的第n個子節點。如果Y為0,則忽略Y。n從0開始,且X不等於0。li:nth-child(3n)返回序號是3的倍數的<li>項,而li:nth-child(5n+1)則返回序號是5的倍數加1的<li>項

:even或:odd  返回頁面內的偶數或奇數的匹配元素。如li:even返回全部偶數<li>項,注意,序號計算是按整頁內來計數的。

:eq(n)        返回第n個匹配的元素(n從0開始計數)

:gt(n)        返回第n個匹配元素之後的元素(n從0開始計數,不包括第n個元素)

:lt(n)         返回第n個匹配元素之前的元素(n從0開始計數,不包括第n個元素)

-------------------------------------------------------------------------------------

jQuery自定義篩選選擇器

-----------------------------------------------------------------------------------------------------

選擇器                          描述

------------------------------------------------------------------------------------------------------

:animated    選擇當前處於動態控制之下的元素。

:button     選擇任何按鈕

:checkbox    選擇任何複選框元素

:checked     選擇任何已選中的複選框元素或單選按鈕

:contains(foo)   選擇包含文字foo的元素

:disabled    選擇在介面上已經禁用的表單元素

:enabled    選擇在介面上已經啟用的表單元素

:file      選擇所有檔案元素(input[type=file])

:header    選擇標題元素(包括<h1>、<h2>直到<h6>)

:hidden    選擇隱藏元素

:image    選擇表單中的影象元素

:input    選擇表單元素(包括:<input>, <select>, <textarea>,<button>)

:not(filter)  根據指定篩選器進行求反後得到的元素

:parent    選擇在擁有後代節點的元素

:password  選擇口令元素

:radio    選擇單選按鈕元素

:reset    選擇復位元素

:selected    選擇已選中的選項元素

:submit    選擇提交按鈕

:text    選擇文字欄位元素

:visible    選擇可見元素

----------------------------------------------------------------------------------------------------------

jQuery中有兩個有用的自定義選擇符:odd和:even。如以下程式碼可以設定表格的奇、偶數行有不同的風格:

$(document).ready(functioin() {

  $("tr:odd").addClass("oddstyle");

  $("tr:even").addClass("evenstyle");

});

其中,tr:odd則選中表中的所有奇數行,然後新增樣式oddstyle;tr:even則選中表中的所有偶數行,然後新增樣式evenstyle。當然oddstyle這樣式和evenstyle樣式必須先在css檔案中定義出來。

contains選擇符

contains選擇符是指物件中包括指定內容的物件本身,如:$('td:contains("abcd")').addClass('highlight');則是找到所有包含“abcd”這樣內容的單元格,設定這些單元格的樣式型別新增“highlight”類。