Jquery選擇器分為基本選擇器、層次選擇器、過濾選擇器和表單選擇器,以下一一介紹這四種選擇器。
一、基本選擇器
大部分都是基本選擇器。基本選擇器包含id選擇器、class選擇器、標籤選擇器、複合選擇器和「*」選擇器。
$("#id") 選取所有屬性id等於「id」的元素。
$(".class_1") 選取所有屬性class為「class_1」的元素。
$("p") 選取所有的
元素。
$("div,span,p.myClass") 選取所有
標籤的一組元素。
$("*") 選取所有元素。
二、層級選擇器
如果想要根據個元素之間的層級關係來取得特定的元素,則可以選擇使用層級選擇器。
$("div p") 選取
元素。這個選擇器獲取的是所有後代元素,而不是下一層次的元素(即子元素)。
$("div>p") 選取
子元素。
$(".class_1+div") 選取屬性class為「class_1」的下一個
$(".class_1").next("div") 效果同上。
$(".class_1~div") 選取屬性class為「class_1」的元素後面的所有
$(".class_1").nextAll("div") 效果同上。
$(".class_1").siblings("div") 與上面兩個選擇器不同的是:這個選擇器沒有前後之分,它選取所有同輩的
三、過濾選擇器
過濾選擇器都是以冒號(:)開頭,過濾選擇器可分為基本過濾、內容過濾、可見性過濾、屬性過濾、子元素過濾和表單物件屬性過濾選擇器。
1、基本過濾選擇器
$("div:first") 選取所有
$("div:last") 選取所有
$("input:not(.class_1)") 選取屬性class不是「class_1」的元素。
$("input:even") 選取索引是偶數的元素。
$("input:odd") 選取索引是奇數的元素。
$("input:eq(1)") 選取索引等於1的元素。
$("input:gt(1)") 選取索引大於1的元素。 (註:大於1,而非1)
$("input:lt(1)") 選取索引小於1的元素。 (註:小於1,而不包括1)
$(":header") 選取網頁中所有的
$("div:animated") 選取正在執行動畫的
$(":focus") 選取目前取得焦點的元素。
2、內容過濾選擇器
$("div:contains('我')") 選取含有文字「我」的
$("div:empty") 選取不包含子元素(包含文字元素)的
$("div:has(p)") 選取含有
元素的
$("div:parent") 選取擁有子元素(包含文字元素)的
3、可見性濾波選擇器
$(":hidden") 選取所有不可見元素,$("input:hidden") 選取所有看不見的元素。
$("div:visible") 選取所有可見的
4、屬性過濾選擇器
$("div[id]") 選取擁有屬性id的
$("div[title=text]") 選取屬性title為「text」的
$("div[title!=text]") 選取屬性title不等於「text」的
$("div[title^=text]") 選取屬性title是以「text」開頭的
$("div[title$=text]") 選取屬性title是以「text」結束的
$("div[title*=text]") 選取屬性title中含有「text」的
$('div[title|="text"]') 選取屬性title等於「text」或以「text」為前綴的
$('div[title~="text"]') 選取屬性title以空格分隔的值中包含字元「text」的元素。
$("div[id][title$='text']") 選取擁有屬性id,且屬性title以「text」結束的
5、子元素過濾選擇器
$("div.one:nth-child(2)") 選取屬性class為「one」的
$("div.one:first-child(2)") 選取屬性class為「one」的
$("div.one:last-child(2)") 選取屬性class為「one」的
$("div.one:first-child(2)") 若屬性class為「one」的
6、表單物件屬性過濾選擇器
$("#form1 input:enabled") 選取表單內可用的元素。
$("#form1 input:disabled") 選取表單內不可用的元素。
$("input:checked") 選取已選取的多重選取方塊。
$("select:selected") 選取在拉框中選取的項目。
(註:在元素中設定屬性disabled為「disabled」可使此元素不可用)
四、表單選擇器
$(":input") 選取所有 >和
$(":text") 選取所有的單行文字方塊。
$(":password") 選取所有的密碼框。
$(":radio") 選取所有的單選框。
$(":checkbox") 選取所有的複選框。
$(":image") 選取所有的影像按鈕。
$(":reset") 選取所有的重設按鈕。
$(":button") 選取所有的按鈕。
$(":file") 選取所有的上傳控制項。
$(":hidden") 選取所有的不可見元素。
五、選擇器中的一些注意事項
1、一些屬性值中含有特殊字元
如:
2、選擇器含有空格
$('.class_1 :hidden')與$('.class_1:hidden')的比較。
$('.class_1 :hidden') 取得到的是屬性class為class_1的元素裡邊包含的隱藏元素。
$('.class_1:hidden') 取得到的是屬性class為class_1的元素。
更多Jquery:強大的選擇器相關文章請關注PHP中文網!