基本選擇器:
#id 根據Id匹配一個元素
.class 根據給定的類名匹配一個元素
element 根據元素名匹配一個元素
* 匹配所有元素
selecttor1,selector2 並集,返回兩個選擇器匹配到的元素
層次選擇器:
ancestor descendant 根據祖先匹配所有的後代元素
parent>child 根據父元素匹配所有的子元素,直接後代
prev+next 匹配下一個兄弟元素 相當於next()方法
prev~siblings 匹配後面的兄弟元素 相當於nextAll()方法 siblings()方法為匹配所有的兄弟元素
簡單過濾選擇器:
:first或first() 匹配第一個元素
:last或last() 匹配最後一個元素
:not(selector) 匹配非selector能匹配到的元素
:even 匹配索引值為偶數的元素,索引號從0開始
:odd 匹配索引值為奇數的元素,索引號從0開始
:eq(index) 匹配指定索引號的元素,索引號從0開始
:gt(index) 匹配索引號大於給定索引值的元素,索引號從0開始
:lt(index) 匹配索引號小於給定索引值的元素,索引號從0開始
:header 匹配所有的標題元素 h1 h2 h3 h4 h5 h6
:animated 匹配所有正在執行動畫的元素
內容過濾選擇器:
:contains(text) 匹配包含給定文本的元素
:empty 匹配所有不包含子元素或者文本的空元素
:has(selector) 匹配後代中含有selector能匹配上元素的元素
:parent 匹配含有子元素或者文本的元素
可見性過濾選擇器:
:hidden 匹配不可見元素,或者type="hidden"的元素 含有css樣式:display:"none";的元素,無論CSS是內聯,導入,鏈接式
:visible 獲取所有的可見元素
屬性過濾選擇器:
[attribute] 匹配含有給定屬性的元素
[attribute=value] 匹配含有屬性=value的元素
[attribute!=value] 匹配含有屬性但!=value的元素
[attribute^=value] 匹配屬性值是以value開始的元素
[attribute$=value] 匹配屬性值是以value結束的元素
[attribute*=value] 匹配屬性值包含某些值的元素,部分前後,中間有也算
[selector][selector] 匹配屬性選擇器的交集
子元素過濾選擇器:
:nth-child(eq|even|odd|index) 獲取所有父元素特定位置的子元素
:first 獲取所有父元素下的第一個子元素
:last 獲取所有父元素下最後一個子元素
:only-child 獲取所有父元素下唯一的一個元素
表單對象屬性過濾選擇器:
:enabled 獲取表單中所有可用的元素
:disabled 獲取表單中所有不可用的元素
:checked 獲取表單張所有被選中的元素
:selected 獲取表單中所有被選中的option的元素
表單選擇器:
:input 獲取所有的表單元素<input開頭的,還有textarea select
:text 獲取所有的單行文本框 <input type="text" />
:password 獲取所有的密碼框元素 <input type="password" />
:radio 獲取所有的單選按鈕 <input type="radio" />
:checkbox 獲取所有的復選框 <input type="checkbox">
:submit 獲取所有的提交按鈕 <input type="submit" />
:image 獲取所有的圖像按鈕 <input type="image" />
:reset 獲取所有的重置按鈕 <input type="reset" />
:button 獲取所有的按鈕 <input type="button">
:file 獲取所有的文件上傳框 <input type="file" />
1、基本選擇器
(1)、#id 根據Id匹配一個元素
$("#div1").css("background-color","red"); //匹配id為"div1"的元素 <div id="div1">我是一個DIV</div> //會選中該div元素
(2)、element 根據給定的元素名匹配元素
$("p").css("background-color","red"); //匹配頁面所有的p元素 <p>我是一個P</p>
(3)、class 根據class屬性匹配元素
$(".important").removeClass(); //匹配所有class="important"元素 <p class="important">我是一個p元素</p>
(4)、* 匹配所有的元素
$("*").css("background-color","red");
(5)、selector1,selector2 選擇器之間用逗號分隔 返回每一個選擇器匹配到的元素
$(".div1,#span1").css("background-color","red");
2、層次選擇器
(1)、ancestor descendant 根據祖先元素匹配所有的後代元素,返回的是匹配到的後代元素,用空格分開。
$("#div1 span").css("color","red"); <div id="div1"> <span>我是span1</span> ***會被選中,是#div1的後代span <div> <span>我是span3</span> ***會被選中,也是#div1的後代span </div> </div> <span>我是span2</span> ***不會被選中,不是#div1的後代
(2)、parent > child 根據父元素匹配所有的子元素 返回所有的子元素 用大於號">"分隔
$("#div1 > span").css("color","red"); <div id="div1"> <span>我是span1</span> ***會被選中,是#div1的子元素span <div> <span>我是span3</span> ***不會被選中,是#div1的後代元素,但不是直接子元素 </div> </div> <span>我是span2</span> ***不會被選中,不是#div1的子元素
(3)、prev + next 匹配緊接在prev元素後的相鄰的下一個元素 用加號"+"分隔。
相當於.next()方法
$(".p1 + p").css("color","red"); //此行代碼相當於$(".p1").next().css("color","red"); <div> <p>我是第一個P</p> ***不會被選中,是class為p1的上一個了 <p class="p1">我是第二個P</p> ***prev本身並不會被選中 <p>我是第三個P</p> ***會被選中,是class為p1的下一個相鄰元素 <p>我是第四個P</p> ***不會被選中,不是class為p1的下一個,是下二個了 </div>
(4)、prev ~ sibings 匹配prev後面的的所有兄弟元素 用波浪線"~"分隔開
相當於 nextAll()方法
$(".p1 + p").css("color","red"); //此行代碼相當於$(".p1").nextAll("p").css("color","red"); <div> <p>我是第一個P</p> ***不會被選中,是class為p1前面的元素 <p class="p1">我是第二個P</p> ***prev本身並不會被選中 <p>我是第三個P</p> ***會被選中,是class為p1後面的P兄弟元素 <p>我是第四個P</p> ***會被選中,也是class為p1後面的P兄弟元素 </div>
(5)、選中所有的兄弟元素 siblings() 方法
$(".p1").sibings("p").css("color","red"); <div> <p>我是第一個P</p> ***會被選中,是class為p1的P兄弟元素 <p class="p1">我是第二個P</p> ***prev本身並不會被選中 <p>我是第三個P</p> ***會被選中,是class為p1的P兄弟元素 <p>我是第四個P</p> ***會被選中,也是class為p1的P兄弟元素 </div>
3、簡單過濾選擇器
(1)、first()或:first 選中符合條件的第一個元素
$("#div1 > p:first").css("color","red") //此行代碼相當於 $("#div1 > p").first().css("color","red"); <div id="div1"> <p>我是第一個P</p> ***會被選中,是id為#div1下的第一個P元素 <p>我是第二個P</p> ***不會被選中,是第二個P元素了 <p>我是第三個P</p> ***不會被選中,是第三個P元素了 </div>
(2)、last()或:last 符合條件的最後一個元素
$("#div1 > p:last").css("color","red"); //此行代碼相當於 $("#div1 > p").last().css("color","red"); <div id="div1"> <p>我是第一個P</p> ***不會被選中,是第一個 <p>我是第二個P</p> ***不會被選中,是第二個 <p>我是第三個P</p> ***會被選中,id為#div1下的最後一個P元素 </div>
(3)、:not(selector) 符合條件但不能被selector選中的元素
$("#div1 > p:not('.p1')").css("color","red"); <div id="div1"> <p>我是第一個P</p> ***會被選中 <p class="p1">我是第二個P</p> ***不會被選中,因為符合了:not裡的條件 class="p1" <p>我是第三個P</p> ***會被選中 </div>
(4)、:even 獲取指定索引值為偶數的元素(0、2、4、6、8……),注意索引號是從0開始的
$("#div1 > p:even").css("color","red"); <div id="div1"> <p>我是第一個P</p> ***會被選中,索引號0 <p>我是第二個P</p> ***不會被選中,索引號1 <p>我是第三個P</p> ***會被選中,索引號2 <p>我是第四個P</p> ***不會被選中,索引號3 <p>我是第五個P</p> ***會被選中,索引號4 </div>
(5)、odd 獲取指定索引值為奇數的元素(1、3、5、7、9......),注意索引號是從1開始的
$("#div1 > p:odd").css("color","red"); <div id="div1"> <p>我是第一個P</p> ***不會被選中,索引號0 <p>我是第二個P</p> ***會被選中,索引號1 <p>我是第三個P</p> ***不會被選中,索引號2 <p>我是第四個P</p> ***會被選中,索引號3 <p>我是第五個P</p> ***不會被選中,索引號4 </div>
(6)、eq(index) 選取指定索引值的元素,索引值從0開始
$("#div1 > p:eq(1)").css("color","red"); <div id="div1"> <p>我是第一個P</p> ***不會被選中,索引號為0 <p>我是第二個P</p> ***不會被選中,索引號為1 <p>我是第三個P</p> ***不會被選中,索引號為2 <p>我是第四個P</p> ***不會被選中,索引號為3 </div>
(7)、gt(index) 獲取所有索引值大於index的元素,索引號從0開始
$("#div1 > p:gt(1)").css("color","red"); <div id="div1"> <p>我是第一個P</p> ***不會被選中,索引號為0 <p>我是第二個P</p> ***不會被選中,索引號為1 <p>我是第三個P</p> ***會被選中,索引號為2大於1了 <p>我是第四個P</p> ***會被選中,索引號為3大於1了 </div>
(8)、lt(index) 獲取所有索引值小於index的元素,索引號從0開始
$("#div1 > p:lt(1)").css("color","red"); <div id="div1"> <p>我是第一個P</p> ***會被選中,索引號為0,小於1 <p>我是第二個P</p> ***不會被選中,索引號為1,不小於1 <p>我是第三個P</p> ***不會被選中,索引號為2大於1了 <p>我是第四個P</p> ***不會被選中,索引號為3大於1了 </div>
(9)、:header 索取所有標題類型元素h1、h2、h3、h4、h5、h6
$("#div1 > :header").css("color","red"); <div id="div1"> <p>我是一個P</p> ***不會被選中,不是標題類型元素 <span>我是一個span</span> ***不會被選中,不是標題類型元素 <h1>我是一個h1</h1> ***會被選中,h1是標題類型元素 <h6>我是一個h6</h6> ***會被選中,h6是標題類型元素 </div>
(10)、animated 正在執行動畫效果的元素
4、內容過濾選擇器
(1)、:contains(text) 獲取包含給定文本的元素
$("p:contains('三')").css("background-color","red"); <div> <p>我是第一個P</p> ***不會被選中 <p>我是第二個P</p> ***不會被選中 <p>我是第三個P</p> ***會被選中,文本裡包含了"三" </div>
(2)、:empty 獲取不包含子元素或文本的空元素
$(:empty).text("我是空元素"); <div> <div><span></span></div> ***div不會被選中,因為有<span></span>子元素。<span></span>會被選中,因為沒有子元素也沒有文本元素 <p></p> ***會被選中,沒有子元素,也沒有文本元素 <span>我是一個span</span> ***不會被選中,有文本元素 </div>
(3)、:has(selector) 選中含有selector所匹配元素的元素,(注意不限於直接子元素,只要是後代含有都算)
$("div:has('span')").css("background-color","red"); <div> ***此div會被選中,因為他的有孫子span 我是最外層div <div><p>我是一個P</p></div> ***此div不會被選中,因為不含有後代span <div><span>我是一個span</span></div> ***此div會被選中,含有後代span </div>
(4)、:parent 含有子元素或者文本元素的元素
$(":parent").text("不含子元素或文本元素"); <div>我是一個div</div> ***不會被選中,因為含有文本元素 <div><span>我是一個span</span></div> ***不會被選中,含有子元素。 <div></div> ***會被選中,不含子元素也不含有文本元素
5、可見性過濾選擇器
(1)、:hidden 選中所有不可見元素
$("span:hidden").css("display","block"); $("input:hidden").val("我是jQuery"); <span style="display:none">我是一個span</span> ***會被第一條規則選中 <input type="hidden" value="我是一個隱藏的input" /> ***會被第二條jQuery選中 <span class="span1">我是span1</span> ***會被第一條jQuery選中
(2)、:visible 選中所有可見元素
6、屬性過濾選擇器
(1)、[attribute] 獲取包含給定屬性的元素
$("div[class]").css("font-size","30px"); <div> <div class="div1">我是第一個div</div> ***會被選中,含有class屬性 <div>我是第二個div</div> ***不會被選中,沒含有class屬性。 </div>
(2)、[attribute=value] 獲取屬性值等於value的元素
$("div[class=div1]").css("font-size","30px"); <div> <div class="div1">我是div1</div> ***會被選中,class屬性等於div1。 <div class="div2">我是div2</div> ***不會被選中,class屬性不等於div1。 </div>
(3)、[attribute!=value] 獲取屬性值不等於value的元素
$("div[class!=div1]").css("color","red"); <div>我是一個沒有class屬性的div</div> ***會被選中,沒有class屬性自然class屬性不等於div1 <div class="div2">我是一個class屬性等於div2的div</div> ***會被選中,class屬性不等於div1 <div class="div1">我是一個class屬性等於div1的元素</div> ***不會被選中,class屬性等於div1
(4)、[attribute^=value] 獲取屬性值以value開始的元素
$("div[class^=div]").css("color","red'); <div class="div1">我是div1</div> ***會被選中,class屬性以div開始 <div class="div2">我是div2</div> ***會被選中,class屬性以div開始 <div class="abc">我是div3</div> ***不會被選中,class屬性不以div開始
(5)、[attribute$=value] 獲取屬性值以value結束的元素
$("div[class$=div]").css("color","red"); <div class="1div">我是第一個div</div> ***會被選中,class屬性以div結束 <div class="2div">我是第二個div</div> ***會被選中,class屬性以div結束 <div class="abc">我是第三個div</div> ***不會被選中,class屬性不以div結束
(6)、[attribute*=value] 獲取屬性值包含value值元素
$("div[class*=div]").css("font-size","30px"); <div class="div1">我是div1</div> ***會被選中,屬性值包含div <div class="1div">我是1div</div> ***會被選中,屬性值包含div <div class="1div1">我是1div1</div> ***會被選中,屬性值包含div <div class="abc">我是abc</div> ***會被選中,屬性值包含div
(7)、[selector][selector][selector] 獲取屬性交集元素
$("div:[class][title=title1]").css("background-color","red"); <div class="div1" title="title1">我是div1,title1</div> ***會被選中,有class屬性且title屬性等於title1 <div class="div1" title=title2>我是div1,title2</div> ***不會被選中,雖然有class屬性,但是title屬性不等於title2 <div class="div3">我是div3</div> ***不會被選中,沒有title屬性
7、子元素過濾選擇器
(1):nth-child(eq|even|odd|index) 獲取每個父元素下的特定位置元素,索引號從1開始
$("div>p:nth-child(1)").css("background-color","red"); //選中每一個父元素下的div下的第一個直接P元素 <div> <p>我是第一個P</p> *** 會被選中,是div下的第一個子P元素 <p>我是第二個P</p> *** 不會被選中,是第二個了 </div> <div> <P>我是第三個P</P> *** 會被選中,是div下的第一個子P元素 <P>我是第四個P</P> *** 不會被選中,是第二個了 </div>
(2):first-child 選中每個父元素下的第一個
$("p:first-child").css("background-color","red"); //選中每一個父元素下的第一個P元素 <div> <p>我是第一個P</p> *** 會被選中,是div下的第一個子P元素 <p>我是第二個P</p> *** 不會被選中,是第二個了 </div> <ul> <li> <P>我是第三個P</P> *** 會被選中,是div下的第一個子P元素 <P>我是第四個P</P> *** 不會被選中,是第二個了 </li> </ul>
(3)、:last-child 選中每一個父元素下的最後一個元素
$("p:last-child").css("background-color","red"); //選中每一個父元素下的第一個P元素 <div> <p>我是第一個P</p> *** 不會被選中,不是某父元素的最後一個子P元素 <p>我是第二個P</p> *** 會被選中,是div元素下的最後一個子P元素 </div> <ul> <li> <P>我是第三個P</P> *** 不會被選中,不是某父元素下的最後一個子P元素 <P>我是第四個P</P> *** 會被選中,是div元素下的最後一個P元素 </li> </ul>
(4)、:only-child 獲取每個父元素下唯一僅有的一個子元素
$("p:only-child").css("background-color","red"); <div> <p>我是第一個P</p> ***不會被選中,不是某父元素下的唯一一個P元素 <p>我是第二個P</p> ***不會被選中,不是某父元素下的唯一一個P元素 </div> <div> <span>我是一個span</span> ***不會被選中,不是某父元素下的唯一一個P元素 <p>我是第三個P</p> ***不會被選中,不是某父元素下的唯一一個span元素 </div> <div> <p>我是一個P</p> ***會被選中,是div下的唯一一個P元素 </div>
8、表單對象屬性過濾選擇器
(1)、:enabled 獲取表單中所有屬性為可用的元素
$("input:enabled").val("jQuery表單對象屬性過濾選擇器"); <div> <input type="text" value="我是一個可用的input" /> ***會被選中,是一個可用的表單元素 <input type="text" value="我是一個不可用的input" disabled="disabled" /> ***不會被選中,是不可用的表單元素 </div>
(2)、:disabled 獲取表單中屬性不可用的元素
$("input:enabled").val("jQuery表單對象屬性過濾選擇器"); <div> <input type="text" value="我是一個可用的input" /> ***不會被選中,是一個可用的表單元素 <input type="text" value="我是一個不可用的input" disabled="disabled" /> ***會被選中,是不可用的表單元素 //注意,jQuery能夠操作不可用 的表單元素 </div>
(3)、:checked 獲取表單中被選中的元素 從屬性能夠知道用戶選中了哪個
$("input:checked").val("jQuery"); <div> <input type="checkbox" checked="checked" value="1">選中 <input type="checkbox" value="0">未選中 </div>
(4)、:selected 獲取表單中被選中的元素 此屬性能夠知道用戶選擇了哪個
alert($("input:selected").text("")); //獲取所有被選中的option元素 <div> <selected> <option value="0" selected="selected">option1</option> ***會被選中 <option value="1">option2</option> ***不會被選中,因為本option不是選中的。 </selected> </div>
9、表單選擇器
(1)、:input 獲取所有的input、textarea、select
$(":input").val("jQuery"); <div> <textarea>我是一個兵</textarea> ***會被選中 <input text="button" value="" /> ***會被選中 <p>我是一個P</p> ***不會被選中 </div>
(2)、:text 獲取所有的單行文本框,也就是<input type="text" />元素
$(":text").val("jQuery"); <div> <input type="text" value="我是一個input" /> ***會被選中,是單行文本框 <input type="button" value="確定" /> ***不會被選中,不是單行文本框 <textarea>我是一個textarea</textarea> ***不會被選中,不是單行文本框 </div>
(3)、:password 獲取所有的密碼框 也就是<input type="password" />元素
$(":password").hide(3000); <div> <input type="password" /> ***會被選中,是密碼框 <input type="text" value="我是一個文本框" /> ***不會被選中,是文本框 </div>
(4)、:radio 獲取所有的單選按鈕
$(":radio").hide(3000); <div> <input type="radio" />我是一個radio ***單選按鈕會被選中,但是後面的文字不會 <input type="text" />我是一個文本框 ***不會被選中 </div>
(5)、:checkbox 獲取所有的復選框
$(":checkbox").hide(3000); <div> <input type="checkbox" />我是一個checkbox ***復選框會被選中,文本不會 <input type="text" />我是一個文本框 ***不會被選中,不是復選框 </div>
(6)、:submit 獲取所有的提交按鈕
$(":submit").hide(3000); <div> <input type="submit" value="提交"> ***會被選中,是提交按鈕 <input type="text" value="我是一個文本框"> ***不會被選中,不是提交按鈕 </div>
(7)、:image 獲取所有的圖像域
$(":image").attr("title","我是一個圖片按鈕"); <div> <input type="image" src="http://www.baidu.com/img/baidu_sylogo1.gif" /> ***會被選中 <input type="text" value="我是一個文本框" /> ***不會被選中,不是圖片按鈕 </div>
(8)、:reset 獲取所有重置按鈕
$(":reset").hide(3000); <div> <input type="reset" value="重置"> ***會被選中,是重置按鈕 <input type="text" value="我是一個文本框"> ***不會被選中,不是重置按鈕 </div>
(9)、:button 獲取所有的按鈕
$(":button").hide(3000); <div> <input type="button" value="確認" /> ***會被選中,是按鈕元素 <input type="text" value="我是一個文本框" /> ***不會被選中,不是按鈕元素 </div>
(10)、:file 獲取所有的文件域
$(":file").hide(3000); <div> <input type="file" title="file" /> <input type="text" value="我是一個文本框" /> </div>
以上就是本文的全部內容,希望對大家有所幫助,謝謝對的支持!