偽類選擇器,可以看成是一種特殊的選擇器。偽類選擇器都是以英文冒號“:”開頭。jQuery偽類選擇器是參考CSS3偽類選擇器的形式來設計的。
在jQuery中常見的偽類選擇器分為以下6種:
- (1)簡單偽類選擇器;
- (2)子元素偽類選擇器;
- (3)可見性偽類選擇器;
- (4)內容偽類選擇器;
- (5)表單偽類選擇器;
- (6)表單屬性偽類選擇器;
一、簡單偽類選擇器
在jQuery中,最常用的偽類選擇器,我們稱為“簡單偽類選擇器”。
jQuery簡單偽類選擇器
偽類選擇器 |
說明 |
:not(selector)
選擇除了某個選擇器之外的所有元素
:first或first()
選擇某元素的第一個元素(非子元素)
:last或last()
選擇某元素的最後一個元素(非子元素)
:odd
選擇某元素的索引值為奇數的元素
:even
選擇某元素的索引值為偶數的元素
:eq(index)
選擇給定索引值的元素,索引值index是一個整數,從0開始
:lt(index)
選擇所有小於索引值的元素,索引值index是一個整數,從0開始
:gt(index)
選擇所有大於索引值的元素,索引值index是一個整數,從0開始
:header
選擇h1~h6的標題元素
:animated
選擇所有正在執行動畫效果的元素
:root
選擇頁面的根元素
:target
選擇當前活動的目標元素(錨點)
二、子元素偽類選擇器
子元素偽類選擇器,就是選擇某一個元素下面的子元素的方式。在jQuery中,子元素偽類選擇器分為2大類。
子元素偽類選擇器(1)
選擇器 |
說明 |
:first-child
選擇父元素的第1個子元素
:last-child
選擇父元素的最後1個子元素
:nth-child(n)
選擇父元素下的第n個元素或奇偶元素,n的值為“整數|odd|even”
:only-child
選擇父元素中唯一的子元素(該父元素只有一個子元素)
子元素偽類選擇器(2)
選擇器 |
說明 |
:first-of-type
選擇同元素類型的第1個同級兄弟元素
:last-of-type
選擇同元素類型的最後1個同級兄弟元素
:nth-of-type
選擇同元素類型的第n個同級兄弟元素,n的值可以是“整數|odd|even”
:only-of-type
匹配父元素中特定類型的唯一子元素(但是父元素可以有多個子元素)
其中,第1類選擇器不分元素類型,第2類選擇器區分元素類型。第2類選擇器只是比第1類選擇器多了一層“type(元素類型)”的限制。
三、可見性偽類選擇器
可見性偽類選擇器,就是根據元素的“可見”與“不可見”這2種狀態來選取元素。
jQuery可見性偽類選擇器
選擇器 |
說明 |
:hidden
選取所有不可見元素
:visible
選取所有可見元素,與:hidden相反
“:hidden”選擇器選擇的不僅包括樣式為display:none所有元素,而且還包括屬性type="hidden"和樣式為visibility:hidden的所有元素。
在jQuery中,可見性偽類選擇器用得比較少,了解一下即可。
四、內容偽類選擇器
內容偽類選擇器,就是根據元素中的文字內容或所包含的子元素特征來選擇元素,其文字內容可以模糊或絕對匹配進行元素定位。
jQuery內容偽類選擇器
選擇器 |
說明 |
:contains(text)
選擇包含給定文本內容的元素
:has(selector)
選擇含有選擇器所匹配元素的元素
:empty
選擇所有不包含子元素或者不包含文本的元素
:parent
選擇含有子元素或者文本的元素(跟:empty相反)
五、表單偽類選擇器
表單偽類選擇器,指的是根據“表單類型”來選擇的偽類選擇器。
jQuery表單偽類選擇器
選擇器 |
說明 |
:input
選擇所有input元素
:button
選擇所有普通按鈕,即type="button"的input元素
:submit
選擇所有提交按鈕,即type="submit"的input元素
:reset
選擇所有重置按鈕,即type="reset"的input元素
:text
選擇所有單行文本框
:textarea
選擇所有多行文本框
:password
選擇所有密碼文本框
:radio
選擇所有單選按鈕
:checkbox
選擇所有復選框
:image
選擇所有圖像域
:hidden
選擇所有隱藏域
:file
選擇所有文件域
六、表單屬性偽類選擇器
表單屬性偽類選擇器,就是根據表單元素的標簽屬性來選取某一類表單元素。
jQuery表單屬性偽類選擇器
選擇器 |
說明 |
:checked
選擇所有被選中的表單元素,一般用於radio和checkbox
option:selected
選擇所有被選中的option元素
:enabled
選擇所有可用元素,一般用於input、select和textarea
:disabled
選擇所有不可用元素,一般用於input、select和textarea
:read-only
選擇所有只讀元素,一般用於input和textarea
:focus
選擇獲得焦點的元素,常用於input和textarea
【後話】:jQuery偽類選擇器非常多,我們不要求大家在第1遍的學習中全部掌握(也不可能做到),但是要求大家至少要認真去理解一遍,等到以後真正需要的時候再回來翻一翻。我們只有在實戰中大量鍛煉,才有可能徹底掌握偽類選擇器。