jQuery選擇器及部分 api 的用法

使用jQuery獲取元素

  • jQuery 選擇器允許您對 HTML 元素組或單個元素進(jìn)行操作疮绷。
  • jQuery 選擇器基于元素的 id翰舌、類、類型冬骚、屬性椅贱、屬性值等"查找"(或選擇)HTML 元素。 它基于已經(jīng)存在的 CSS 選擇器只冻,除此之外庇麦,它還有一些自定義的選擇器。
  • jQuery 中所有選擇器都以美元符號開頭:$()喜德。
  • jQuery為了方便使用者刻意和CSS選擇器使用相同的語法山橄,幾乎支持所有類型的CSS3選擇器,當(dāng)然也有一些其特定的選擇器

jQuery 元素選擇器

jQuery 使用 CSS 選擇器來選取 HTML 元素舍悯。

$("p") 選取 <p> 元素航棱。
$("p.intro") 選取所有 class="intro" 的 <p> 元素。
$("p#demo") 選取所有 id="demo" 的 <p> 元素萌衬。

jQuery 屬性選擇器

jQuery 使用 XPath(XPath 是一門在 XML 文檔中查找信息的語言,XPath 用于在 XML 文檔中通過元素和屬性進(jìn)行導(dǎo)航饮醇。) 表達(dá)式來選擇帶有給定屬性的元素。

$("[href]") 選取所有帶有 href 屬性的元素秕豫。
$("[href='#']") 選取所有帶有 href 值等于 "#" 的元素朴艰。
$("[href!='#']") 選取所有帶有 href 值不等于 "#" 的元素。
$("[href$='.jpg']") 選取所有 href 值以 ".jpg" 結(jié)尾的元素。

jQuery CSS 選擇器

jQuery CSS 選擇器可用于改變 HTML 元素的 CSS 屬性呵晚。

$("p").css("background-color","red");

選擇器

基本,組合/層次選擇器.png

基本過濾選擇器.png

內(nèi)容沫屡,可視化饵隙,屬性過濾選擇器.png

子元素,表單元素選擇器.png

可以看出來基本上和css選擇器差不多沮脖,就感覺是在復(fù)習(xí)css選擇器一樣金矛,簡直不要太爽.

部分 api 的用法

除了使用選擇器jQuery還提供了一些方法幫助我們查找當(dāng)前元素相關(guān)元素

.eq(index), .get([index])

對于一個特定結(jié)果集,我們想獲取到指定index的jQuery對象勺届,可以使用eq方法

$('div').eq(3);    獲取結(jié)果集中的第四個jQuery對象

我們可以通過類數(shù)組下標(biāo)的獲取方式或者get方法獲取指定index的DOM對象驶俊,也就是我們說的jQuery對象轉(zhuǎn)DOM對象

$('div')[2];
$('div').eq(2);

get()不寫參數(shù)把所有對象轉(zhuǎn)為DOM對象返回

兄弟元素獲取

.next([selector]), .prev([selector])

next取得匹配的元素集合中每一個元素緊鄰的后面同輩元素的元素集合。如果提供一個選擇器免姿,那么只有緊跟著的兄弟元素滿足選擇器時饼酿,才會返回此元素。prev正好相反胚膊,獲取元素之前的同輩元素

$("h2").next();    返回 <h2> 的下一個同胞元素

.nextAll([selector]), .prevAll([selector])

nextAll獲得每個匹配元素集合中每個元素所有后面的同輩元素故俐,選擇性篩選的選擇器,prevAll與之相反紊婉,獲取元素前面的同輩元素

$("h2").nextAll();  返回 <h2> 的所有跟隨的同胞元素

.siblings([selectors])
獲得匹配元素集合中每個元素的兄弟元素,可以提供一個可選的選擇器

$("h2").siblings();  返回 <h2> 的所有同胞元素

也可以使用可選參數(shù)來過濾對同胞元素的搜索药版。

$("h2").siblings("p");   返回屬于 <h2> 的同胞元素的所有 <p> 元素

nextUntil() , prevUntil() 方法

nextUntil() 方法返回介于兩個給定參數(shù)之間的所有跟隨的同胞元素。prevAll與之相反喻犁,獲取元素前面的同胞元素

$("h2").nextUntil("h6");  返回 <h2> 的所有跟隨的同胞元素

父子元素獲取

children() 方法
返回被選元素的所有直接子元素槽片,選擇器選擇性篩選
該方法只會向下一級對 DOM 樹進(jìn)行遍歷。

 $("div").children();   返回每個 <div> 元素的所有直接子元素

也可以使用可選參數(shù)來過濾對子元素的搜索肢础。

 $("div").children("p.1");   返回類名為 "1" 的所有 <p> 元素还栓,并且它們是 <div> 的直接子元素

find() 方法
返回被選元素的后代元素,一路向下直到最后一個后代传轰。

$("div").find("span");   返回屬于 <div> 后代的所有 <span> 元素
 $("div").find("*");    返回 <div> 的所有后代

parent() 方法

$("span").parent();    返回每個 <span> 元素的的直接父元素

返回被選元素的直接父元素蝙云。


parents() 方法
返回被選元素的所有祖先元素,它一路向上直到文檔的根元素 (<html>)路召。

$("span").parents();   返回所有 <span> 元素的所有祖先

也可以使用可選參數(shù)來過濾對祖先元素的搜索勃刨。

$("span").parents("ul");   返回所有 <span> 元素的所有祖先,并且它是 <ul> 元素

parentsUntil() 方法
返回介于兩個給定元素之間的所有祖先元素股淡。

$("span").parentsUntil("div");  返回介于 <span> 與 <div> 元素之間的所有祖先元素

篩選當(dāng)前結(jié)果集

first() 方法
返回被選元素的首個元素身隐。

$("div p").first();   選取首個 <div> 元素內(nèi)部的第一個 <p> 元素

last() 方法
返回被選元素的最后一個元素.

$("div p").last();   選擇最后一個 <div> 元素中的最后一個 <p> 元素

filter() 方法
允許您規(guī)定一個標(biāo)準(zhǔn)。不匹配這個標(biāo)準(zhǔn)的元素會被從集合中刪除唯灵,匹配的元素會被返回贾铝。參數(shù)可以是一個選擇器或者一個函數(shù)

$("p").filter(".url");   返回帶有類名 "url" 的所有 <p> 元素
$('li').filter(function(index) {
  return index % 3 == 2;
})   返回下標(biāo)除以3余數(shù)為2的所有l(wèi)i元素

not() 方法
返回不匹配標(biāo)準(zhǔn)的所有元素。

$("p").not(".url");   返回不帶有類名 "url" 的所有 <p> 元素

has() 方法
返回?fù)碛衅ヅ渲付ㄟx擇器的一個或多個元素在其內(nèi)的所有元素,如需選取擁有多個元素在其內(nèi)的元素,請使用逗號分隔垢揩。

$("p").has("span");   返回?fù)碛幸粋€ <span> 元素在其內(nèi)的所有 <p> 元素

is() 方法
用于查看選擇的元素是否匹配選擇器玖绿。

if ($("p").parent().is("div")) {
    alert("p 的父元素是 div");
}    如果 <p> 的父元素是 <div> 元素,彈出提示信息

總結(jié)

以上就是關(guān)于jQuery選擇器及部分 api 的用法叁巨,并給出具體實例斑匪,希望對有需要的人所有幫助。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锋勺,一起剝皮案震驚了整個濱河市蚀瘸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌庶橱,老刑警劉巖贮勃,帶你破解...
    沈念sama閱讀 210,835評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異苏章,居然都是意外死亡寂嘉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評論 2 383
  • 文/潘曉璐 我一進(jìn)店門枫绅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來垫释,“玉大人,你說我怎么就攤上這事撑瞧】闷” “怎么了?”我有些...
    開封第一講書人閱讀 156,481評論 0 345
  • 文/不壞的土叔 我叫張陵预伺,是天一觀的道長订咸。 經(jīng)常有香客問我,道長酬诀,這世上最難降的妖魔是什么脏嚷? 我笑而不...
    開封第一講書人閱讀 56,303評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮瞒御,結(jié)果婚禮上父叙,老公的妹妹穿的比我還像新娘。我一直安慰自己肴裙,他們只是感情好趾唱,可當(dāng)我...
    茶點故事閱讀 65,375評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蜻懦,像睡著了一般甜癞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宛乃,一...
    開封第一講書人閱讀 49,729評論 1 289
  • 那天悠咱,我揣著相機與錄音蒸辆,去河邊找鬼。 笑死析既,一個胖子當(dāng)著我的面吹牛躬贡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播眼坏,決...
    沈念sama閱讀 38,877評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼拂玻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了空骚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,633評論 0 266
  • 序言:老撾萬榮一對情侶失蹤擂仍,失蹤者是張志新(化名)和其女友劉穎囤屹,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逢渔,經(jīng)...
    沈念sama閱讀 44,088評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡肋坚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,443評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了肃廓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片智厌。...
    茶點故事閱讀 38,563評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖盲赊,靈堂內(nèi)的尸體忽然破棺而出铣鹏,到底是詐尸還是另有隱情,我是刑警寧澤哀蘑,帶...
    沈念sama閱讀 34,251評論 4 328
  • 正文 年R本政府宣布诚卸,位于F島的核電站,受9級特大地震影響绘迁,放射性物質(zhì)發(fā)生泄漏合溺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,827評論 3 312
  • 文/蒙蒙 一缀台、第九天 我趴在偏房一處隱蔽的房頂上張望棠赛。 院中可真熱鬧,春花似錦膛腐、人聲如沸睛约。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽痰腮。三九已至,卻和暖如春律罢,著一層夾襖步出監(jiān)牢的瞬間膀值,已是汗流浹背棍丐。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留沧踏,地道東北人歌逢。 一個月前我還...
    沈念sama閱讀 46,240評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像翘狱,于是被迫代替她去往敵國和親秘案。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,435評論 2 348

推薦閱讀更多精彩內(nèi)容