#id javascript
.classcss
elementhtml
*java
selector1,selector2,selectorNjquery
selector1 selector2 | 選擇selector1的後代元素中的selector2 | $("div #d1") | 選擇div元素的後代元素中全部id爲d1的元素 |
selector1>selector2 | 選擇selector1的子元素中的selector2 | $("div .divC") | 選擇div元素的子元素中全部class爲divC的元素 |
selector1+selector2 | 匹配全部緊接在 prev 元素後的 next 元素(PS:必須是緊接在後的同輩元素) | ||
selector1~selector2 | 匹配 prev 元素以後的全部 siblings 元素(PS:必須爲同輩元素) |
:first | 獲取匹配的第一個元素 | ||
:not(selector) | 去除全部與selector匹配的元素在jQuery 1.3中,已經支持複雜選擇器了(例如:not(div a) 和 :not(div,a)) | $("div:not(#div1,#div4)") | 選擇全部的div元素除了id爲div1和div4的 |
:even | 匹配全部索引值爲偶數的元素,從 0 開始計數,查找表格的一、三、5...行(即索引值0、二、4...) | ||
:odd | 匹配全部索引值爲奇數的元素,從 0 開始計數,查找表格的二、四、6行(即索引值一、三、5...) | ||
:eq(index) | 匹配一個給定索引值的元素,從 0 開始計數 | $(".divC:eq(0)") | 選擇class爲divC的第一個元素 |
:gt(index) | 匹配全部大於給定索引值的元素,從 0 開始計數 | ||
:lang 1.9+ | :lang選擇器,匹配有一個語言值等於所提供的語言代碼,或以提供的語言代碼開始,後面立刻跟一個「 - 」的元素。 | $("div:lang(en)") | 匹配<div lang="en"> and <div lang="en-us">(和他們的後代<div>),但不包括<div lang="fr"> |
:last | 獲取最後個元素 | ||
:lt(index) | 匹配全部小於給定索引值的元素,從 0 開始計數 | ||
:header | 匹配如 h1, h2, h3之類的標題元素(ps:沒法在header前面加選擇器如div:header) | ||
:animated | 匹配全部正在執行動畫效果的元素 | ||
:focus | 匹配當前獲取焦點的元素。如同其餘僞類選擇器(那些以":"開始),建議:focus前面用標記名稱或其餘選擇; | 換句話說,$(':focus')等同爲$('*:focus') | |
:root 1.9+ | 選擇該文檔的根元素。在HTML中,文檔的根元素,和$(":root")選擇的元素同樣, 永遠是<html>元素。 | ||
:target 1.9+ | 選擇由文檔URI的格式化識別碼表示的目標元素。(PS:這個不尋常的用法,可進一步討論中找到 W3C CSS specification) |
:contains(text) | 匹配包含給定文本的元素 | $("p:contains('John')") | 查找全部包含 "John" 的 p 元素 |
:empty | 匹配全部不包含子元素或者文本的空元素 | ||
:has(selector) | 匹配含有選擇器所匹配的元素的元素 | ||
:parent | 匹配含有子元素或者文本的元素 |
:hidden | 匹配全部不可見元素,或者type爲hidden的元素 | ||
:visible | 匹配全部的可見元素 |
[attribute] | 匹配包含給定屬性的元素。注意,在jQuery 1.3中,前導的@符號已經被廢除!若是想要兼容最新版本,只須要簡單去掉@符號便可。 | $("div[id]") | 查找全部含有 id 屬性的 div 元素 |
[attribute=value] | 匹配給定的屬性是某個特定值的元素 | $("input[name='newsletter']") | 查找全部 name 屬性是 newsletter 的 input 元素 |
[attribute!=value] | 匹配全部不含有指定的屬性,或者屬性不等於特定值的元素。(ps:注意!和=不要留空格,會報錯) | 此選擇器等價於 :not([attr=value]) | |
[attribute^=value] | 匹配給定的屬性是以某些值開始的元素 | ||
[attribute$=value] | 匹配給定的屬性是以某些值結尾的元素 | ||
[attribute*=value] | 匹配給定的屬性是以包含某些值的元素 | ||
[attrSel1][attrSel2][attrSelN] | 複合屬性選擇器,須要同時知足多個條件時使用。 | $("input[id][name$='man']") | 找到全部含有 id 屬性,而且它的 name 屬性是以 man 結尾的 |
selector:first-child | 匹配selector所選元素中在其父元素裏的第一個子元素。(若所選元素不是第一個子元素則不選擇) |
||
:first-of-type 1.9+ | 結構化僞類,匹配E的父元素的第一個E類型的孩子。等價於:nth-of-type(1) 選擇器。 | $("span:first-of-type"); | 查找span元素的父元素的子元素的第一個span元素 |
:last-child | 匹配selector所選元素中在其父元素裏的最後一個子元素 | $("ul li:last-child") | 在每一個 ul 中查找最後一個 li |
:last-of-type 1.9+ | 結構化僞類,匹配E的父元素的最後一個E類型的孩子 | ||
:nth-child() | 匹配其父元素下的第N個子或奇偶元素,要匹配元素的序號,從1開始(參考first-child,示例在此表格以後) | ||
:nth-last-child() 1.9+ | 選擇全部他們父元素的第n個子元素。計數從最後一個元素開始到第一個。(與:nth-child()x類似,從後開始計數) | ||
:nth-last-of-type() 1.9+ | 選擇的全部他們的父級元素的第n個子元素,計數從最後一個元素到第一個。 | ||
:nth-of-type(n|even|odd|formula)1.9+ | 選擇同屬於一個父元素之下,而且標籤名相同的子元素中的第n個。odd奇數,even偶數 | ||
:only-child | 若是某個元素是父元素中惟一的子元素,那將會被匹配 | ||
:only-of-type 1.9+ | 選擇全部沒有兄弟元素,且具備相同的元素名稱的元素 |
<div > <span>1</span> <p>2</p> <p>3</p> </div> <div > <p>4</p> <p>5</p> </div>
示例瀏覽器
$("p:first-child").css("color","red");
結果:只有4變紅動畫
$("p:first-of-type").css("color","red");
結果:2和4變紅ui
$("p:nth-child(2)").css("color","red");
結果:2和5變紅spa
:input | 匹配全部 input, textarea, select 和 button 元素 | ||
:text | 匹配全部的單行文本框 | ||
:password | 匹配全部密碼框 | ||
:radio | 匹配全部單選按鈕 | ||
:checkbox | 匹配全部複選框 | ||
:submit | 匹配全部提交按鈕,理論上只匹配 type="submit" 的input或者button,可是如今的不少瀏覽器,button元素默認的type即爲submit,orm 因此不少狀況下,不設置type的button也會成爲篩選結果。爲了防止歧義或者誤操做,建議全部的button在使用時都添加type屬性。 |
||
:image | 匹配全部圖像域 | ||
:reset | 匹配全部重置按鈕 | ||
:button | 匹配全部按鈕 | ||
:file | 匹配全部文件域 |
:enabled | 匹配全部可用元素 ,沒被禁用的(PS:disabled="disabled"禁用按鈕) | ||
:disabled | 匹配全部不可用元素 | ||
:checked | 匹配全部選中的被選中元素(複選框、單選框等,select中的option),對於select元素來講,獲取選中推薦使用 selected |
||
:selected | 匹配全部選中的option元素 |
$.escapeSelector(selector) 3.0+
這個方法一般被用在類選擇器或者ID選擇器中包含一些CSS特殊字符的時候,這個方法基本上與CSS中CSS.escape()方法相似,惟一的區別是jquery中的這個方法支持全部瀏覽器。
$( "div" ).find( "." + $.escapeSelector( ".box" ) );
選擇出類中包含.box的div