Jquery選擇器完全總結
額...現在需要寫很多前端的程式碼了,這裡就先記錄下Jquery的選擇器吧。
還是自淺至深->
CSDN自動生成的目錄是個好東西,很多東西只看目錄就夠了。
1、說明
通用語法:
選擇結果可能是單個或多個物件。
下面涉及到索引的,多是從0開始計數。
如果選擇器中包含特殊字元,可以用兩個斜槓轉義。
選擇器總覽:
基本的選擇器
元素選擇器element
ID選擇器#id
類選擇器.class
匹配所有元素通常用於結合上下文搜尋*
根據多個規則獲取元素selector1,selector2,selectorN
層次結構中選取
選取指定元素內所有匹配的元素ancestor descendant
選擇指定父元素下匹配的子元素parent>child
選擇所有緊接在指定元素後指定的匹配元素prev+next
選擇指定元素之後的所有指定的匹配元素prev~siblings
更近一步
獲取第一個元素:first
獲取最後個元素:last
去除所有與給定選擇器匹配的元素:not(selector)
匹配所有索引值為偶數的元素:even
匹配所有索引值為奇數的元素:old
匹配一個給定索引值的元素:eq(index)
匹配所有大於給定索引值的元素:gt(index)
匹配所有小於給定索引值的元素:lt(index)
選擇指定語言的所有元素:lang(language)
匹配如 h1 h2 h3之類的標題元素:header
匹配所有正在執行動畫效果的元素:animated
匹配當前獲取焦點的元素:focus
選擇該文件的根元素:root
選擇由文件URI的格式化識別碼表示的目標元素:target
匹配包含給定文字的元素:contains(text)
匹配所有不包含子元素或者文字的空元素:empty
匹配含有選擇器所匹配的元素的元素:has(selector)
匹配含有子元素或者文字的元素:parent
匹配所有不可見元素或者type為hidden的元素:hidden
匹配所有的可見元素:visible
匹配包含給定屬性的元素[attribute]
匹配給定的屬性是某個特定值的元素[attribute=value]
匹配所有不含有指定的屬性或屬性不等於特定值的元素[attribute!=value]
匹配給定的屬性是以某些值開始的元素[attribute^=value]
匹配給定的屬性是以某些值結尾的元素[attribute$=value]
匹配給定的屬性是以包含某些值的元素[attribute*=value]
複合屬性選擇器需要同時滿足多個條件時使用[selector1][selector2][selectorN]
匹配第一個子元素:first-child
選擇所有相同的元素名稱的第一個兄弟元素:first-of-type
匹配最後一個子元素:last-child
選擇的所有元素之間具有相同元素名稱的最後一個兄弟元素:last-of-type
匹配其父元素下的第N個子或奇偶元素:nth-child
選擇所有他們父元素的第n個(計數從最後一個元素開始到第一個)子元素:nth-last-child()
選擇的所有他們的父級元素的第n個(計數從最後一個元素到第一個)子元素:nth-last-of-type()
選擇同屬於一個父元素之下並且標籤名相同的子元素中的第n個:nth-of-type()
如果某個元素是父元素中唯一的子元素那將會被匹配:only-child()
選擇所有沒有兄弟元素且具有相同的元素名稱的元素:nth-last-of-type()
匹配所有 input textarea select 和 button 元素:input
匹配所有的單行文字框:text
匹配所有密碼框:password
匹配所有單選按鈕:radio
匹配所有核取方塊:checkbox
匹配所有提交按鈕:submit
匹配所有影像域:image
匹配所有重置按鈕:reset
匹配所有按鈕:button
匹配所有檔案域:file
匹配所有可用元素:enabled
匹配所有不可用元素:disabled
匹配所有選中的被選中元素:checked
匹配所有選中的option元素:selected
2、基本的選擇器
2.1、元素選擇器(element)
html:
Jquery:
結果:[<div>DIV1</div>,<div>DIV2</div>]
2.2、ID選擇器(#id)
html:
Jquery:
2.3、類選擇器(.class)
html:
Jquery:
結果:[<div class="myClass">div class="myClass"</div>,<span class="myClass">span class="myClass"</span>]
2.4、匹配所有元素,通常用於結合上下文搜尋(*)
html:
Jquery:
結果:[<div>DIV</div>,<span>SPAN</span>,<p>P</p>]
2.5、根據多個規則獲取元素(selector1,selector2,selectorN)
將每一個選擇器匹配到的元素合併後一起返回。你可以指定任意多個選擇器,並將匹配到的元素合併到一個結果內。
html:
Jquery:
結果:[<div>div</div>,<p class="myClass">p class="myClass"</p>,<span>span</span>]
3、層次結構中選取
3.1、選取指定元素內所有匹配的元素(ancestor descendant)
html:
Jquery:
結果:[<input name="name" />,<input name="newsletter" />]
3.2、選擇指定父元素下匹配的子元素(parent > child)
html:
Jquery:
結果:[<input name="name" />]
3.3、選擇所有緊接在指定元素後指定的匹配元素(prev + next)
html:
Jquery:
結果:[<input name="name" />,<input name="newsletter" />]
3.4、選擇指定元素之後的所有指定的匹配元素(prev ~ siblings)
html:
Jquery:
結果:[<input name="none" />]
4、更近一步
4.1、獲取第一個元素(:first)
html:
Jquery:
結果:[<li>list item 1</li>]
4.2、獲取最後個元素(:last())
html:
Jquery:
結果:[<li>list item 5</li>]
4.3、去除所有與給定選擇器匹配的元素(:not(selector))
在jQuery 1.3中,已經支援複雜選擇器了(例如:not(div a) 和 :not(div,a))。
html:
Jquery:
結果:[<input name="apple" />]
4.4、匹配所有索引值為偶數的元素
html:
Jquery:
結果:[<tr><td>Header 1</td></tr>,<tr><td>Value 2</td></tr>]
4.5、匹配所有索引值為奇數的元素
html:
Jquery:
結果:[<tr><td>Value 1</td></tr>]
4.6、匹配一個給定索引值的元素(:eq(index))
html:
Jquery:
結果:[<tr><td>Value 1</td></tr>]
4.7、匹配所有大於給定索引值的元素(:gt(index))
html:
Jquery:
結果:[<tr><td>Value 1</td></tr>,<tr><td>Value 2</td></tr>]
4.8、匹配所有小於給定索引值的元素(:lt(index))
返回值:Array<Element(s)>
html:
Jquery:
結果:[<tr><td>Header 1</td></tr>,<tr><td>Value 1</td></tr>]
4.9、選擇指定語言的所有元素(:lang(language))
:lang選擇器,匹配有一個語言值等於所提供的語言程式碼,或以提供的語言程式碼開始,後面馬上跟一個“ - ”的元素。例如,選擇器$("div:lang(en)")將匹配<div lang="en"> and <div lang="en-us">(和他們的後代<div>),但不包括<div lang="fr">
對於HTML元素,語言值由lang屬性決定,也可能由來自meta元素或HTTP頭資訊決定。
如,選擇所有<P> 的語言屬性:
4.10、匹配如 h1, h2, h3之類的標題元素(:header)
返回值:Array<Element(s)>
html:
Jquery:
結果:[<h1>Header 1</h1>,<h2>Header 2</h2>]
4.11、匹配所有正在執行動畫效果的元素(:animated)
返回值:Array<Element(s)>
4.12、匹配當前獲取焦點的元素(:focus)
如同其他偽類選擇器(那些以":"開始),建議:focus前面用標記名稱或其他選擇;否則,通用選擇("*")是不言而喻的。換句話說,$(':focus')等同為$('*:focus')。如果你正在尋找當前的焦點元素,$( document.activeElement )將檢索,而不必搜尋整個DOM樹。
新增一個"focused"的類名給那些有focus方法的元素:
css:
- .focused { background: #abcdef;}
html:
Jquery:
4.13、選擇該文件的根元素(:root)
在HTML中,文件的根元素,和$(":root")選擇的元素一樣, 永遠是<html>元素。
4.14、選擇由文件URI的格式化識別碼表示的目標元素(:target)
如果文件的URI包含一個格式化的識別符號,或hash(雜湊), 然後:target選擇器將匹配ID和識別符號相匹配的元素。 例如,給定的URI http://example.com/#foo, $( "p:target" ),將選擇<p id="foo">元素。
4.15、匹配包含給定文字的元素(:contains(text))
html:
Jquery:
結果:[<div>John Resig</div>,<div>Malcom John Sinclair</div>]
4.16、匹配所有不包含子元素或者文字的空元素(:empty)
html:
Jquery:
結果:[<td></td>,<td></td>]
4.17、匹配含有選擇器所匹配的元素的元素(:has(selector))
html:
Jquery:
結果:[<div><p>Hello</p></div>]
4.18、匹配含有子元素或者文字的元素(:parent)
html:
Jquery:
結果:[<td>Value 1</td>,<td>Value 2</td>]
4.19、匹配所有不可見元素,或者type為hidden的元素(:hidden)
查詢隱藏的 tr:
html:
Jquery:
結果:[<tr style="display:none"><td>Value 1</td></tr>]
匹配type為hidden的元素:
html:
Jquery:
結果:[<input type="hidden" name="id" />]
4.20、匹配所有的可見元素(:visible)
html:
Jquery:
結果:[<tr><td>Value 2</td></tr>]
4.21、匹配包含給定屬性的元素([attribute])
注意,在jQuery 1.3中,前導的@符號已經被廢除!如果想要相容最新版本,只需要簡單去掉@符號即可。
html:
Jquery:
結果:[<div id="test2"></div>]
4.22、匹配給定的屬性是某個特定值的元素([attribute=value])
html:
Jquery:
結果:[<input type="checkbox" name="newsletter" value="Hot Fuzz" />,<input type="checkbox" name="newsletter" value="Cold Fusion" />]
4.23、匹配所有不含有指定的屬性或屬性不等於特定值的元素([attribute!=value])
此選擇器等價於:not([attr=value])。
要匹配含有特定屬性但不等於特定值的元素,請使用[attr]:not([attr=value])。
html:
Jquery:
結果:[<input type="checkbox" name="accept" value="Evil Plans" /> ]
4.24、匹配給定的屬性是以某些值開始的元素([attribute^=value])
html:
Jquery:
結果:[<input name="newsletter" />,<input name="newsboy" />]
4.25、匹配給定的屬性是以某些值結尾的元素([attribute$=value])
html:
Jquery:
結果:[<input name="newsletter" />,<input name="jobletter" />]
4.26、匹配給定的屬性是以包含某些值的元素([attribute*=value])
html:
Jquery:
結果:[<input name="man-news" />,<input name="milkman" />,<input name="letterman2" />]
4.27、複合屬性選擇器,需要同時滿足多個條件時使用([selector1][selector2][selectorN])
html:
Jquery:
結果:[<input id="letterman" name="new-letterman" />]
4.28、匹配第一個子元素(:first-child)
html:
Jquery:
結果:[<li>John</li>,<li>Glen</li>]
4.29、選擇所有相同的元素名稱的第一個兄弟元素(:first-of-type)
:first-of-type 選擇器匹配元素,在文件樹中,相同的父元素並且在其他相同的元素名稱之前。
4.30、匹配最後一個子元素(:last-child)
html:
Jquery:
結果:[<li>Brandon</li>,<li>Ralph</li>]
4.31、選擇的所有元素之間具有相同元素名稱的最後一個兄弟元素(:last-of-type)
:last-of-type 選擇器匹配在文件樹中具有相同的父元素並且相同的元素名稱,後面沒有任何其他元素 的元素。
4.32、匹配其父元素下的第N個子或奇偶元素(:nth-child)
':eq(index)' 只匹配一個元素,而這個將為每一個父元素匹配子元素。:nth-child從1開始的,而:eq()是從0算起的!可以使用:<br>nth-child(even)<br>:nth-child(odd)<br>:nth-child(3n)<br>:nth-child(2)<br>:nth-child(3n+1)<br>:nth-child(3n+2)
html:
Jquery:
結果:[<li>Karl</li>,<li>Tane</li>]
4.33、選擇所有他們父元素的第n個(計數從最後一個元素開始到第一個)子元素(:nth-last-child(n|even|odd|formula))v1.9
因為jQuery的實現:nth-child(n)是嚴格來自CSS規範,所以n值是“1索引”,也就是說,從1開始計數。對於所有其他選擇器表示式,jQuery遵循JavaScript的“0索引”的計數。因此,給定一個單一<ul>包含兩個<li>, $('li:nth-child(1)')選擇第一個<li>,而$('li:eq(1)')選擇第二個。
比如下面選擇倒數第二個:
4.34、選擇的所有他們的父級元素的第n個(計數從最後一個元素到第一個)子元素(:nth-last-of-type(n|even|odd|formula))
因為jQuery的實現:nth-是嚴格來自CSS規範,n值是“1-indexed”,也就是說,從1開始計數。 對於所有其他選擇器表示式比如:eq() 或 :even ,jQuery遵循JavaScript的“0索引”的計數。因此,給定一個單一<ul>包含3個<li>,$('li:nth-last-of-type(1)')選擇第3個,也就是最後一個<li>。
選擇倒數第二個:
4.35、選擇同屬於一個父元素之下,並且標籤名相同的子元素中的第n個(:nth-of-type(n|even|odd|formula))
因為jQuery的實現:nth-是嚴格來自CSS規範,n值是“1-indexed”,也就是說,從1開始計數。對於所有其他選擇器表示式比如:eq() 或 :even ,jQuery遵循JavaScript的“0索引”的計數。
查詢每個span,這個 span 是 其所有兄弟span元素中的第二個元素:
4.36、如果某個元素是父元素中唯一的子元素,那將會被匹配(:only-child)
如果父元素中含有其他元素,那將不會被匹配。
html:
Jquery:
結果:[<li>Glen</li>]
4.37、選擇所有沒有兄弟元素,且具有相同的元素名稱的元素(:nth-last-of-type)
如果父元素有相同的元素名稱的其他子元素,那麼沒有元素會被匹配。
改變每一個按鈕的文字,並且加一個邊框,這些按鈕的父元素只有這個按鈕子元素:
4.37、匹配所有 input, textarea, select 和 button 元素(:input)
html:
Jquery:
結果:
4.38、匹配所有的單行文字框(:text)
html:
Jquery:
結果:[<input type="text" />]
4.39、匹配所有密碼框(:password)
html:
Jquery:
結果:[<input type="password" />]
4.40、匹配所有單選按鈕(:radio)
html:
Jquery:
結果:[<input type="radio" />]
4.41、匹配所有核取方塊(:checkbox)
html:
Jquery:
結果:[<input type="checkbox" />]
4.42、匹配所有提交按鈕(:submit)
html:
Jquery:
結果:[<input type="submit" />]
4.43、匹配所有影像域(:image)
html:
Jquery:
結果:[<input type="image" />]
4.44、匹配所有重置按鈕(:reset)
html:
Jquery:
結果:[<input type="reset" />]
4.45、匹配所有按鈕(:button)
html:
Jquery:
結果:[ <input type="button" />,<button></button> ]
4.46、匹配所有檔案域(:file)
html:
Jquery:
結果:[ <input type="file" /> ]
4.47、匹配所有可用元素(:enabled)
html:
Jquery:
結果:[ <input name="id" /> ]
4.48、匹配所有不可用元素(:disabled)
html:
Jquery:
結果:[ <input name="email" disabled="disabled" /> ]
4.49、匹配所有選中的被選中元素(:checked)
核取方塊、單選框等,不包括select中的option。
html:
Jquery:
結果:[ <input type="checkbox" name="newsletter" checked="checked" value="Daily" />, <input type="checkbox" name="newsletter" checked="checked" value="Monthly" /> ]
4.50、匹配所有選中的option元素(:selected)
html:
Jquery:
結果:[ <option value="2" selected="selected">Gardens</option> ]
5、常用的元素選擇例項
後續補全。
相關文章
- jQuery選擇器總結jQuery
- jQuery常用選擇器總結jQuery
- JQuery知識總結之選擇器jQuery
- jQ基礎篇–jQuery選擇器總結jQuery
- jQuery 選擇器彙總-思維導圖-選擇器jQuery
- jQuery使用總結-CorejQuerySelectors選擇器二3/4jQuery
- jQuery選擇器——基本選擇器jQuery
- css選擇器總結CSS
- jQuery選擇器——層次選擇器jQuery
- jQuery選擇器jQuery
- jQuery 選擇器jQuery
- jQuery選擇器之層次選擇器jQuery
- jQuery選擇器——基本過濾選擇器jQuery
- jQuery選擇器(下)jQuery
- jQuery 選擇器效率jQuery
- Jquery的選擇器jQuery
- jQuery :last選擇器jQueryAST
- jQuery .class選擇器jQuery
- jQuery element選擇器jQuery
- jQuery #id選擇器jQuery
- [JS] jQuery選擇器JSjQuery
- jQuery系列:選擇器jQuery
- jQuery選擇器大全jQuery
- jQuery選擇器——內容過濾選擇器jQuery
- jQuery選擇器——子元素過濾選擇器jQuery
- jQuery選擇器——屬性過濾選擇器jQuery
- css選擇器分類總結CSS
- jQuery選擇器介紹:基本選擇器、層次選擇器、過濾選擇器、表單選擇器jQuery
- jQuery選擇器——表單元素過濾選擇器jQuery
- jQuery選擇器——可見性過濾選擇器jQuery
- jQuery 3教程(二):jQuery選擇器jQuery
- JQuery選擇器——可見性篩選選擇器和屬性篩選選擇器jQuery
- jquery九大選擇器jQuery
- jquery中的選擇器jQuery
- jQuery 後代選擇器jQuery
- jQuery parent>child選擇器jQuery
- jQuery 分組選擇器jQuery
- jQuery常用的選擇器jQuery