jQuery選擇器

1. jQuery選擇器

*jQuery*選擇器是jQuery庫中非常重要的部分之一遗座。它支持網(wǎng)頁開發(fā)者所熟知的CSS語法快速輕松地對頁面進(jìn)行設(shè)置谈山。對于事件處理,動畫和Ajax更加簡單。

2. 用jQuery的好處:

  • 兼容性好
  • API友好
  • 功能強(qiáng)大统捶,與時俱進(jìn)

3.什么時候時候用jQuery:

  • DOM操作較多(事件監(jiān)聽)
  • 簡單的AJAx
  • 需要兼容多款瀏覽器

4.什么是不用jQuery:

  • 頁面交互極為簡單
  • 頁面對流有咳咳的要求你
  • 上級強(qiáng)制滚停,團(tuán)隊已經(jīng)有 jQueryd 的替代品

5.jQuery是做什么的:

  • 選擇網(wǎng)頁元素
  • 改變結(jié)果
  • 元素的操作:取值和賦值
  • 元素的操作:移動
  • 元素的操作:復(fù)制沃粗,刪除和創(chuàng)建
  • 工具方法
  • 事件操作
  • 特殊效果
  • AJAX
  • http://devdocs.io/jquery/(此網(wǎng)站可查詢jQuery的一些方法)

6.jQuery 的兩種 API

$.noConflict()
$.each()
$('ul').addClass()
$('p').text('hi')

7.ready

$(callback)
window.onload 事件
document 的 DOMContentLoaded 事件
$( document ).ready( handler )
$().ready( handler ) (this is not recommended)
$( handler )

8.使用jQuery獲取元素

我們可以通過document.getElementById等方法獲取DOM對象,但是方法名稱長键畴,使用不方便最盅,而且功能有限,不能像CSS選擇器那樣靈活

jQuery定義了一套選擇器規(guī)則起惕,和CSS選擇器目的一樣涡贱,都是為了選擇出符合特定規(guī)則的元素。講jQuery不得不提到其選擇器惹想,這是jQuery能夠快速流行的非常重要的原因问词,為了方便使用者jQuery刻意和CSS選擇器使用相同的語法,幾乎支持所有類型的CSS3選擇器嘀粱,當(dāng)然也有一些其特定的選擇器

1. 選擇器

基本選擇器
$('*') 匹配頁面所有元素
$('#id') id選擇器
$('.class') 類選擇器
$('element') 標(biāo)簽選擇器
組合/層次選擇器
$('E,F') 多元素選擇器激挪,用 , 分隔辰狡,同時匹配元素 E 或元素 F
$('E F') 后代選擇器,用空格分隔灌灾,匹配 E 元素所有的后代(不只是子元素搓译、子元素向下遞歸)元素 F
$(E>F) 子元素選擇器,用 > 分隔锋喜,匹配E元素的所有直接子元素
$('E+F') 直接相鄰選擇器些己,匹配E元素之后的相鄰的同級元素F
$('E~F') 普通相鄰選擇器(弟弟選擇器),匹配E元素之后的同級元素F(無論直接相鄰與否)
$('.class1.class2') 匹配類名中既包含 class1 又包含 class2 的元素
基本過濾選擇器
$("E:first") 所有 E 中的第一個
$("E:last") 所有 E 中的最后一個
$("E:not(selector)") 按照 selector 過濾E
$("E:even") 所有E中 index 是偶數(shù)
$("E:odd") 所有E中 index 是奇數(shù)
$("E:eq(n)") 所有E中 index 為 n 的元素
$("E:gt(n)") 所有E中 index 大于 n 的元素
$("E:lt(n)") 所有E中 index 小于 n 的元素
$(":header") 選擇 h1~h6 元素
$("div:animated") 選擇正在執(zhí)行動畫效果的元素
內(nèi)容過濾器
$('E:contains(value)') 內(nèi)容中包含 value 值的元素
$('E:empty') 內(nèi)容為空的元素
$('E:has(F)') 子元素中有 F 的元素嘿般,$('div:has(a)'):包含 a 標(biāo)簽的 div
$('E: parent') 父元素是E的元素段标,$('td: parent'):父元素是 td 的元素
可視化選擇器
$('E:hidden') 所有被隱藏的 E
$('E:visible') 所有可見的 E
屬性過濾選擇器
$('E[attr]') 含有屬性 attr 的 E
$('E[attr=value]') 屬性 attr=value 的 E
$('E[attr !=value]') 屬性 attr!=value 的 E
$('E[attr ^=value]') 屬性 attr 以 value 開頭的 E
$('E[attr $=value]') 屬性 attr 以 value 結(jié)尾的 E
$('E[attr *=value]') 屬性 attr 包含 value 的 E
$('E[attr][attr *=value]') 可以連用
子元素過濾器
$('E:nth-child(n)') E 的第 n 個子節(jié)點
$('E:nth-child(3n+1)') E 的 index 符合 3n+1 表達(dá)式的子節(jié)點
$('E:nth-child(even)') E 的 index 為偶數(shù)的子節(jié)點
$('E:nth-child(odd)') E 的 index 為奇數(shù)的子節(jié)點
$('E:first-child') 所有 E 的第一個子節(jié)點
$('E:last-child') 所有 E 的最后一個子節(jié)點
$('E:only-child') 只有唯一子節(jié)點的 E 的子節(jié)點
表單元素選擇器
$('E:type') 特定類型的 input
$(':checked') 被選中的 checkbox 或 radio
$('option: selected') 被選中的 option

除了使用選擇器炉奴,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對象返回赛糟。

2. 兄弟元素獲取

  • .next([selector]), .prev([selector])
    next 取得匹配的元素集合中每一個元素緊鄰的后面同輩元素的元素集合。如果提供一個選擇器砸逊,那么只有緊跟著的兄弟元素滿足選擇器時璧南,才會返回此元素。prev 正好相反师逸,獲取元素之前的同輩元素:
$('.test').next();
$('.test').prev('li');

  • .nextAll([selector]), .prevAll([selector])
    nextAll 獲得每個匹配元素集合中每個元素所有后面的同輩元素司倚,選擇性篩選的選擇器,prevAll 與之相反篓像,獲取元素前面的同輩元素:

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

$('li.third-item').siblings()

3. 兄弟元素獲取

  • .parent([selector])
    取得匹配元素集合中动知,每個元素的父元素,可以提供一個可選的選擇器:
$('li.item-a').parent()

  • .parents([selector])
    獲得集合中每個匹配元素的祖先元素员辩,可以提供一個可選的選擇器作為參數(shù):
$('li.item-a').parents('div')

  • .children([selector])
    獲得匹配元素集合中每個元素的子元素盒粮,選擇器選擇性篩選:
$('ul.level-2').children()

  • .find([selector])
    查找符合選擇器的后代元素:
$('ul').find('li.current')

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

  • .first()
    獲取當(dāng)前結(jié)果集中的第一個對象。

  • . last()
    獲取當(dāng)前結(jié)果集的最后一個對象奠滑。

  • .filter(selector), .filter(function(index))
    篩選當(dāng)前結(jié)果集中符合條件的對象丹皱,參數(shù)可以是一個選擇器或者一個函數(shù):

$('li').filter(':even')

$('li').filter(function(index) {
  return index % 3 == 2;
})

  • .not(selector), .not(function(index))
    從匹配的元素集合中移除指定的元素,和 filter 相反养叛。

  • .is(selector), is(function(index)), is(dom/jqObj)
    判斷當(dāng)前匹配的元素集合中的元素种呐,是否為一個選擇器,DOM 元素弃甥,或者 jQuery 對象爽室,如果這些元素至少一個匹配給定的參數(shù),那么返回 true:

    if ( $target.is("li") ) {
    $target.css("background-color", "red");
  }

  • .has(selector), .has(dom)
    篩選匹配元素集合中的那些有相匹配的選擇器或DOM元素的后代元素:
$('li').has('span')

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市阔墩,隨后出現(xiàn)的幾起案子嘿架,更是在濱河造成了極大的恐慌,老刑警劉巖啸箫,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耸彪,死亡現(xiàn)場離奇詭異,居然都是意外死亡忘苛,警方通過查閱死者的電腦和手機(jī)蝉娜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扎唾,“玉大人召川,你說我怎么就攤上這事⌒赜觯” “怎么了荧呐?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長纸镊。 經(jīng)常有香客問我倍阐,道長,這世上最難降的妖魔是什么逗威? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任峰搪,我火速辦了婚禮,結(jié)果婚禮上庵楷,老公的妹妹穿的比我還像新娘罢艾。我一直安慰自己楣颠,他們只是感情好尽纽,可當(dāng)我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著童漩,像睡著了一般弄贿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上矫膨,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天差凹,我揣著相機(jī)與錄音,去河邊找鬼侧馅。 笑死危尿,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的馁痴。 我是一名探鬼主播谊娇,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼罗晕!你這毒婦竟也來了济欢?” 一聲冷哼從身側(cè)響起赠堵,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎法褥,沒想到半個月后茫叭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡半等,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年揍愁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杀饵。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡吗垮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出凹髓,到底是詐尸還是另有隱情烁登,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布蔚舀,位于F島的核電站饵沧,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏赌躺。R本人自食惡果不足惜狼牺,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望礼患。 院中可真熱鬧是钥,春花似錦、人聲如沸缅叠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肤粱。三九已至弹囚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間领曼,已是汗流浹背鸥鹉。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留庶骄,地道東北人毁渗。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像单刁,于是被迫代替她去往敵國和親灸异。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,864評論 2 354

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