jQuery選擇器介紹:基本選擇器、層次選擇器、過濾選擇器、表單選擇器

hemeinvyiqiluoben發表於2018-03-04

轉自: http://www.cr173.com/html/21124_1.html       //鋒利的jQuery書中的內容


這篇文章來介紹下jQuery的選擇器。

選擇器是jQuery的根基,在jQuery中,對事件處理、遍歷DOM和Ajax操作都依賴於選擇器。因此,如果能熟練的使用選擇器,不僅能簡化程式碼,而且可以達到事半功倍的效果。jQuery選擇器完全繼承了CSS的風格。利用jQuery選擇器,可以非常便捷的找出特定的DOM元素,然後為它們新增相應的行為,而無需擔心瀏覽器是否支援這一選擇器。

jQuery選擇器可簡單分為基本選擇器、層次選擇器、過濾選擇器、表單選擇器。下面通過表格進行一一介紹。

1.基本選擇器

選擇器 描 述 返 回 示 例
#id 匹配給定的id 單個元素 $(“header”)
.class 匹配給定的類名 集合元素 $(“.test”)
E 匹配給定的標籤名 集合元素 $(“div”)
* 匹配所有元素 集合元素 $(“*’)
E, .class, E… 匹配給定的集合 集合元素 $(“span, .tips”)

2.層次選擇器

選擇器 描 述 返 回 示 例
$(“ancestor descendant”) 匹配ancestor裡的所有
descendant(後代)元素
集合元素 $(“body div”)
$(“parent>child”) 匹配parent下的所有
child(子)元素
集合元素 $(“div>span”)
$(“prev+next”) 匹配緊接在prev後的
next元素
集合元素 $(“.error+span”)
$(“prev~siblings”) 匹配prev後的所有
siblings元素
集合元素 $(“span~a”)

3.過濾選擇器

3.1 基本過濾選擇器

選擇器 描 述 返 回 示 例
:first 匹配第一個元素 單個元素 $(“div:first”)
:last 匹配最後一個元素 單個元素 $(“span:last”)
:even 匹配索引是偶數的元素
索引從0開始
集合元素 $(“li:even”)
: odd 匹配索引是奇數的元素
索引從0開始
集合元素 $(“li:odd”)
:eq(index) 匹配索引等於index的元
素(索引從0開始)
單個元素 $(“input:eq(2)”)
:gt(index) 匹配索引大於index的元
素(索引從0開始)
集合元素 $(“input:gt(1)”)
:lt(index) 匹配索引小於index的元
素(索引從0開始)
集合元素 $(“input:lt(5)”)
:header 匹配所有h1,h2…等
標題元素
集合元素 $(“:header”)
:animated 匹配所有正在執行
動畫的元素
集合元素 $(“div:animated”)

3.2 內容過濾選擇器

選擇器 描 述 返 回 示 例
:contains(text) 匹配含有文字內容text
的元素
集合元素 $(“p:contains(今天)”)
:empty 匹配不含子元素或
文字元素的空元素
集合元素 $(“p:empty”)
:has(selector) 匹配包含selector元素
的元素
集合元素 $(“div:has(span)”)
:parent 匹配含有子元素或文字
的元素
集合元素 $(“div:parent”)

3.3 可見性過濾選擇器

選擇器 描 述 返 回 示 例
:hidden 匹配所有不可見
的元素
集合元素 $(“:hidden”)
:visible 匹配所有可見元素 集合元素 $(“:visible”)

3.4 屬性過濾選擇器

選擇器 描 述 返 回 示 例
[attr] 匹配擁有此屬性
的元素
集合元素 $(“img[alt]“)
[attr=value] 匹配屬性值為value
的元素
集合元素 $(“a[title=test]“)
[attr!=value] 匹配屬性值不等於
value的元素
集合元素 $(“a[title!=test]“)
[attr^=value] 匹配屬性值以value
開頭的元素
集合元素 $(“img[alt^=welcome]“)
[attr$=value] 匹配屬性值以value
結尾的元素
集合元素 $(“img[alt$=last]“)
[attr*=vlaue] 匹配屬性值中含有
value的元素
集合元素 $(“div[title*=test]“)
[attr1][attr2]… 通過多個屬性
進行匹配
集合元素 $(“div[id][title*=test]“)

3.5 子元素過濾選擇器

選擇器 描 述 返 回 示 例
:nth-child 匹配每個父元素下的
第index個子元素
索引從1開始
集合元素 $(“div:nth-child(2)”)
:first-child 匹配每個父元素的
第一個子元素
集合元素 $(“div:first-child”)
:last-child 匹配每個父元素的
最後一個子元素
集合元素 $(“div:last-child”)
: only-child 某元素是它父元素中
的唯一的子元素
則匹配它
集合元素 $(“div:only-child”)

3.6 表單物件屬性過濾選擇器

選擇器 描 述 返 回 示 例
:enabled 匹配所有可用元素 集合元素 $(“form :enabled”)
:disabled 匹配所有不可用
的元素
集合元素 $(“form :disabled”)
:checked 匹配所有被選中的元素
(含單選框,核取方塊)
集合元素 $(“input:checked”)
:selected 匹配所有被選中的
選項元素
集合元素 $(“select :selected”)

4.表單選擇器

選擇器 描 述 返 回 示 例
:input 匹配所有input, textarea,
select, button元素
集合元素 $(“input”)
:text 匹配所有文字框 集合元素 $(“:text”)
:password 匹配所有密碼框 集合元素 $(“:password”)
:radio 匹配所有單選框 集合元素 $(“:radio”)
:checkbox 匹配所有所有多選框 集合元素 $(“:checkbox”)
:submit 匹配所有提交按鈕 集合元素 $(“:submit”)
:image 匹配所有影像按鈕 集合元素 $(“:image”)
:reset 匹配所有重置按鈕 集合元素 $(“:reset”)
:button 匹配所有按鈕 集合元素 $(“:button”)
:file 匹配所有上傳域 集合元素 $(“:file”)

相關文章