目錄
基本分類:jQuery選擇器大致可以分為兩類,基本選擇器和過濾選擇器,
1 基本選擇器
基本選擇器又可以分為三種,分別為:CSS選擇器,層級選擇器,表單域選擇器
1.1 CSS選擇器 1.1.1 標(biāo)簽選擇器
用于選擇HTML頁面已有的標(biāo)簽元素,也稱元素選擇器。
格式: $("element"); 例: $("div")
1.1.2 ID選擇器
用于獲取某個具有ID屬性的元素。
格式: $("id");例:$("#test").val();
1.1.3 類選擇器
獲取某個具有class屬性的元素。
格式:$("class") 例: $(".t").css("border","2px solid blue");
1.1.4 通用選擇器
通用選擇器(*)匹配所有元素,多用于結(jié)合上下文來搜索。
格式:$("*")
例:$("*").css("color","red");
1.1.5 群組選擇器
又稱多元素選擇器,用于選擇所有指定的選擇器組合的結(jié)果。
格式:$(",,......,")
例: $("div,span,p.").css("border","2px solid blue");
1.2 層級選擇器
在HTML官方檔中,每個元素總是處在DOM節(jié)點(diǎn)樹上的某個位置,文檔層次結(jié)構(gòu)中元素之間總是存在著某種層級關(guān)系。
主要有:空格與大于號>、加號+與波浪號~
空格:$('parent ')表示獲取parent下的所有的節(jié)點(diǎn)
大于號:$('parent > ')表示獲取parent下的所有下一級
加號:$('pre + ')表示獲得pre節(jié)點(diǎn)的下一個兄弟節(jié)點(diǎn),相當(dāng)于next()方法
波浪號:$('pre ~ brother')表示獲取pre節(jié)點(diǎn)的后面的所有兄弟節(jié)點(diǎn),相當(dāng)于nextAll()方法
附加:交集選擇器:$("ulli")選擇的是必須同時滿足兩個條件;
并集選擇器:$("ul,li")選擇的是滿足兩者中的一個;
1.2.1 子元素選擇器
用于在給定的父元素下查找其下面的所有子元素。
格式:$("parent>child")
例:$("form > input");
匹配form表單中所有的子級input元素。
1.2.2 后代選擇器
用于在給定的祖先元素下匹配所有的后代元素。
格式:$(" ")
例:$("form input"); 查找form元素的后代元素中為input的標(biāo)記。
1.2.3 緊鄰?fù)呥x擇器
用于匹配所有緊接在某元素后的第一個元素。
格式:$("prev+next")
例:$("div+span");
匹配所有跟在div后的span元素。
1.2.4 相鄰?fù)呥x擇器
用于匹配某元素后面的所有同輩元素。
格式:$("prev~")
例:$("input~p").css("color","red");
1.3 表單域選擇器
表單域指網(wǎng)頁中的input,,select,button元素。jQuery 表單域選擇器專門用于從文檔中選擇表單域。
1.3.1 :input選擇器
用于選擇所有input,,select,button元素。
格式:$(":input")
1.3.2 :text選擇器
用于選擇所有單行文本框()。
格式:$(":text")
1.3.3 :選擇器
用于選擇所有密碼框()。
格式:$(":")
1.3.4 :radio選擇器
用于選擇所有單選按鈕()。
格式:$(":radio")
1.3.5 :chckbox選擇器
用于選擇所有復(fù)選框()。
格式:$(":chckbox")
1.3.6 :file選擇器
用于選擇所有文件域(。
格式:$(":file")
1.3.7 :image選擇器
用于選擇所有圖像域()。
格式:$(":image")
1.3.8 :hidden選擇器
用于選擇所有不可見元素()。
格式:$(":hidden")
1.3.9 :button選擇器
用于選擇所有按鈕(和···)。
格式:$(":button")
1.3.10 :submit選擇器
用于選擇所有提交按鈕(和···)。
格式:$(":submit")
1.3.11 :reset選擇器
用于選擇所有重置按鈕()。。
格式:$(":reset")
2 過濾選擇器
過濾選擇器可以使用元素的索引值,內(nèi)容,屬性,子元素位置,表單域?qū)傩砸约翱梢娦宰鳛楹Y選條件獲取相關(guān)元素。
2.1 簡單過濾選擇器
根據(jù)索引值對元素進(jìn)行篩選,類似于CSS的偽類選擇器,以冒號(:)開頭;并且要和另一選擇器一起使用。
2.1.1 :first選擇器
對當(dāng)前jQuery集合進(jìn)行過濾并選擇出第一個匹配元素。
格式:$("::first")
例: $("td:first").css("border","2px solid blue");
將第一列的邊框顏色設(shè)置為藍(lán)色。
2.1.2 :last選擇器
對當(dāng)前jQuery集合進(jìn)行過濾并選擇出最后一個匹配元素。
格式:$("::last")
2.1.3 :odd選擇器
用于選擇索引為奇數(shù)(從0開始計(jì)數(shù))的所有元素。
格式:$("::odd")
2.1.4 :even選擇器
用于選擇索引為偶數(shù)(從0開始計(jì)數(shù))的所有元素。
格式:$("::even")
2.1.5 :eq()選擇器
用于從匹配的集合中選擇索引等于給定值的元素。
格式:$("::eq(index)),index 為指定元素在集合中的索引值(從0開始計(jì)數(shù))
2.1.6 :gt()選擇器
用于從匹配的集合中選擇索引大于給定值的所有元素。
格式:$("::gt(index)),index 為指定元素在集合中的索引值(從0開始計(jì)數(shù)),只有索引值大于此值的元素才會包含在查詢結(jié)果中。
2.1.7 :lt()選擇器
用于從匹配的集合中選擇索引小于給定值的所有元素。
格式:$("::lt(index)),index 為指定元素在集合中的索引值(從0開始計(jì)數(shù)),只有索引值小于此值的元素才會包含在查詢結(jié)果中。
2.1.8 :not選擇器
用于從匹配的集合中去除與給定選擇器匹配的元素。
格式:$("::not()),其中,為任意有效的選擇器,使用:not()選擇器時, 將匹配的集合中去掉 匹配的所有元素。
例:$("td:not(:first,:last)").css("","#FCF")
2.1.9 :header選擇器
用于選擇所有諸如h1,h2,h3之類的標(biāo)題元素。
格式:$(":header")
2.1.10 :選擇器
用于選擇所有正在執(zhí)行動畫效果的元素。
格式:$(":")
2.2 內(nèi)容過濾選擇器
在HTML文檔中,元素的內(nèi)容可以是文本或子元素。
2.2.1 :()選擇器
用于選擇包含給定文本的所有元素。
格式:$(":(text)")
2.2.2 :has()選擇器
用于選擇包含給定子元素的元素。
格式:$(":has()"),,為任意有效的選擇器。
2.2.3 :empty選擇器
用于選擇不包含子元素或者文本的所有空元素。
格式:$(":empty)
2.2.4 :parent選擇器
用于選擇包含子元素或者文本的所有空元素,與:empty選擇器作用相反。
格式:$(":parent(")
2.3 屬性過濾選擇器
在HTML文檔中,元素的開始標(biāo)記中通常包含多個屬性,根據(jù)各種屬性對由選擇器查詢到的元素進(jìn)行過濾。
屬性過濾選擇器包含在中括號“[]”中。
語法格式:“選擇器[屬性過濾選擇器]”,可根據(jù)是否包含指定屬性或根據(jù)屬性值從查詢到的元素進(jìn)行篩選。
2.3.1 包含屬性選擇器
用于選擇包含給定屬性的所有元素。
格式:$("[]")
例:$("div[id]") 從文檔中選擇包含id屬性的div元素。
2.3.2 屬性等于選擇器
用于選擇給定屬性等于某特定值的的所有元素。
格式:$("[=value]")
例:$("input[name=accept]").attr("checked","true");
2.3.3 屬性包含選擇器
用于選擇給定屬性值包含給定子字符串的所有元素。
格式:$("[*=value]")
例:$("input[name*='news']").val("name 中包含news 的元素");
2.3.4 屬性包含單詞選擇器
用于選擇指定屬性中包含給定單詞(由空格分隔)的元素。
格式:$("[~=value]")
例:$("input[name~='news']").val("name 中包含news單詞的元素");
2.3.5 屬性不等于選擇器
用于選擇不包含給定屬性,或者包含指定屬性但該屬性不等于某個值的所有元素。
格式:$("[!=value]")
2.3.6 屬性開始選擇器
用于選擇包含給定屬性是以某特定值開始的所有元素。
格式:$("[^=value]")
2.3.7 屬性結(jié)尾選擇器
用于選擇包含給定屬性是以某個給定值結(jié)尾的所有元素。
格式:$("[$=value]")
2.3.8 復(fù)合屬性選擇器
用于選擇同時滿足多個條件的所有元素。
格式:$("[][]....[]")
例:$("input[id][name^='news’]").val(“選擇包含id屬性且name屬性以news開頭的文本框”);
3 附:$('div','li') 和 $('div , li') 和 $('div li') 區(qū)別
要搞清楚$('div','li') 和 $('div , li') 和 $('div li') 區(qū)別
$('div','li')是$(子,父),是從父節(jié)點(diǎn)里找子,而不是找li外面的div
$('div , li')才是找所有的div和li,之間不存在父子關(guān)系
$('div li') 是找div里面所有l(wèi)i,包括子級,孫子級,總之就是div里面所有l(wèi)i,不管有幾層關(guān)系
4 附:JQuery和JQuery Easyui的取值方法是不同的
$("#id").val()是JQuery的寫法,
$("#id").getValue()是JQuery Easyui的寫法
document.getElementById("id").value是原生JavaScript的寫法