在CSS3選擇器標淮草案定義的選擇器語法中,jQuery支持相當完整的一套子集,同時還添加了一些非標准但很有用的偽類。下面是一些jQuery擴展的選擇器:(來自http://www.cnblogs.com/MaxIE/p/4078869.html)
| jQuery選擇過濾器 | |
| 過濾器 | 含義 |
| #id | 匹配id屬性為id的元素。在有效的}ITML文檔中,永遠不會出現多個元素擁有相同的ID,因此該過濾器通常作為獨立選擇器來使用 |
| .class | 匹配class屬性(是一串被解析成用空格分隔的單詞列表)含有class單詞的所有元素 |
| [attr] | 匹配擁有attr屬性(和值無關)的所有元素 |
| [attr=val] | 匹配擁有attr屬性且值為val的所有元素 |
| [attr!=val] | 匹配沒有attr屬性、或attr屬性的值不為val的所有元素((jQuery的擴展) |
| [attr^=val] | 匹配attr屬性值以val開頭的元素 |
| [attr$=val] | 匹配attr屬性值以val結尾的元素 |
| [attr*=val] | 匹配attr屬性值含有val的元素 |
| [attr~=val] | 當其attr屬性解釋為一個由空格分隔的單詞列表時,匹配其中包含單詞val的元素。因此選擇器“div.note”與“div [class~=note]”相同 |
| [attr|=val] | 匹配attr屬性值以val開頭且其后沒有其他字符,或其他字符是以連字符開頭的元素 |
| :animated | 匹配正在動畫中的元素,該動畫是由jQuery產生的 |
| :button | 匹配<button type=”button”>和<input type=”button”>元素(jQuery的擴展) |
| :checkbox | 匹配<input type=”checkbox”>元素( jQuery的擴展),當顯式帶有input標簽前綴”input:checkbox”時,該過濾器更高效 |
| :checked | 匹配選中的input元素 |
| :contains(text) | 匹配含有指定text文本的元素(jQuery的擴展)。該過濾器中的圓括號確定了文本的范圍—無須添加引號。被過濾的元素的文本是由textContent或innerText屬性來決定的—這是原始文檔文本,不帶標簽和注釋 |
| :disabled | 匹配禁用的元素 |
| :empty | 匹配沒有子節點、沒有文本內容的元素 |
| :enabled | 匹配沒有禁用的元素 |
| :eq(n) | 匹配基於文檔順序、序號從0開始的選中列表中的第n個元素(jQuery的擴展) |
| :even | 匹配列表中偶數序號的元素。由於第一個元素的序號是0,因此實際上選中的是第1個、第3個、第5個等元素(jQuery的擴展) |
| :file | 匹配<input type=”file”>元素(jQuery的擴展) |
| :first | 匹配列表中的第一個元素。和“:eq(0)”相同(jQuery的擴展) |
| :first-child | 匹配的元素是其父節點的第一個子元素。注意:這與“:first”不同 |
| :gt(n) | 匹配基於文檔順序、序號從0開始的選中列表中序號大於n的元素( jQuery的擴展) |
| :has(sel) | 匹配的元素擁有匹配內嵌選擇器sel的子孫元素 |
| :header | 匹配所有頭元素:<h1>, <h2>, <h3>, <h4>, <h5>或<h6> (jQuery的擴展) |
| :hidden | 匹配所有在屏幕上不可見的元素:大體上可以認為這些元素的offsetWidth和offsetHeight為0 |
| :image | 匹配<input type=”image”>元素。注意該過濾器不會匹配<img>元素( jQuery的擴展) |
| :input | 匹配用戶輸入元素:<input>, <textarea>, <select>和<button>( jQuery的擴展) |
| :last | 匹配選中列表中的最后一個元素(( jQuery的擴展) |
| :last-child | 匹配的元素是其父節點的最后一個子元素。注意:這與“:last”不同 |
| :lt(n) | 匹配基於文檔順序、序號從0開始的選中列表中序號小於n的元素( jQuery的擴展) |
| :not(sel) | 匹配的元素不匹配內嵌選擇器sel |
| :nth(n) | 與“:eq(n)”相同(jQuery的擴展) |
| :nth-child(n) | 匹配的元素是其父節點的第n個子元素。。可以是數值、單詞even,單詞odd或計算公式。 使用“:nth-child(even)”來選取那些在其父節點的子元素中排行第2或第4等序號的元素。使用“:nth-child(odd)”來選取那 些在其父節點的子元素中排行第1、第3等序號的元素。 更常見的情況是,n是xn或x n+y這種計算公式,其中x和y是整數,n是字面量n。因此可以用nth-child(3n+1)來選取第1個、第4個、第7個等元素。 注意該過濾器的序號是從1開始的,因此如果一個元素是其父節點的第一個子元素,會認為它是奇數元素,匹配的是3n+1,而不是3n。要和“:even以及“:odd”過濾器區分開來,后者匹配的序號是從0開始的。 |
| :odd | 匹配列表中奇數(從0開始)序號的元素。注意序號為1和3的元素分別是第2個和第4個匹配元素( jQuery的擴展) |
| :only-child | 匹配那些是其父節點唯一子節點的元素 |
| :parent | 匹配是父節點的元素,這與“:empty”相反(jQuery的擴展) |
| :password | 匹配<input type=”password”>元素(jQuery的擴展) |
| :radio | 匹配<input type=”radio”>元素( j Query的擴展) |
| :reset | 匹配<input type=”reset”>和<button type=”reset”>元素(jQuery的擴展) |
| :selected | 匹配選中的<option>元素。使用“:checked”來選取選中的復選框和單選框(jQuery的擴展) |
| :submit | 匹配<input type=”submit”>和<button type=”submit”>元素(jQuery的擴展) |
| :text | 匹配<input type=”text”>元素(jQuery的擴展) |
| :visible | 匹配所有當前可見的元素:大體上可以認為這些元素的offsetWidth和offsetHeight的值不為0,這和“:hidden”相反 |
注意:表中列舉的部分選擇器在圓括號中接受參數。例如,下面這個選擇器選取的元素在其父節點的子元素中排行第1或第2等,只要它們含有“JavaScript”單詞,就不包含元素。
p:nth-child(3n+1): text (JavaScript):not(:has(a))
通常來說,指定標簽類型前綴,可以讓過濾器的運行更高效。例如,不要簡單使用”:radio”來選取單選框按鈕,使用“input:radio”會 更好。ID過濾器是個例外,不添加標簽前綴時它會更高效。例如,選擇器“#address”通常比更明確的“form#address”更高效。
