[JavaScript] (Day-22) - jQuery 基本選擇器

Nothing is really beautiful but truth. 只有真理才是真美蛮拔。
jQuery 是JavaScript世界中使用最廣泛的一個庫

特點:
  • 消除瀏覽器差異:你不需要自己寫冗長的代碼來針對不同的瀏覽器來綁定事件旧困,編寫AJAX等代碼

  • 簡潔的操作DOM的方法:寫$('#test')肯定比document.getElementById('test')來得簡潔

  • 輕松實現(xiàn)動畫、修改CSS等各種操作

jQuery的使用
  • 1芭商、獲取 jQuary

jQuery 官網(wǎng) 官網(wǎng)可以下載最新版本

  • 2、引入 jQuary
<html>
    <head>
        <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
        ...
    </head>
    <body>
        ...
    </body>
</html>
$符號

$是著名的 jQuery 符號简烘。實際上亏狰,jQuery把所有功能全部封裝在一個全局變量jQuery中,而$也是一個合法的變量名劫狠,它是變量jQuery的別名


DOM操作中我們經(jīng)常使用的代碼
// 按ID查找:
var a = document.getElementById('dom-id');

// 按tag查找:
var divs = document.getElementsByTagName('div');

// 查找<p class="red">:
var ps = document.getElementsByTagName('p');
// 過濾出class="red":
// TODO:

// 查找<table class="green">里面的所有<tr>:
var table = ...
for (var i=0; i<table.children; i++) {
    // TODO: 過濾出<tr>
}

jQuery的基本選擇器的使用

按ID查找

按id查找注意在id名稱前加一個#

// 查找<div id="abc">:
var div = $('#abc');

注意拴疤,#abc以#開頭。返回的對象是jQuery對象独泞。

什么是jQuery對象呐矾?jQuery對象類似數(shù)組,它的每個元素都是一個引用了DOM節(jié)點的對象懦砂。

以上面的查找為例蜒犯,如果id為abc的<div>存在组橄,返回的jQuery對象如下:

[<div id="abc">...</div>]

如果id為abc的<div>不存在,返回的jQuery對象如下:

[]

總之jQuery的選擇器不會返回undefined或者null罚随,這樣的好處是你不必在下一行判斷if (div === undefined)玉工。

jQuery對象和DOM對象之間可以互相轉(zhuǎn)化:

var div = $('#abc'); // jQuery對象
var divDom = div.get(0); // 假設(shè)存在div,獲取第1個DOM元素
var another = $(divDom); // 重新把DOM包裝為jQuery對象

按tag查找

按tag查找只需要寫上tag名稱就可以了

var ps = $('p'); // 返回所有<p>節(jié)點
ps.length; // 數(shù)一數(shù)頁面有多少個<p>節(jié)點

按class查找

按class查找注意在class名稱前加一個.

var a = $('.red'); // 所有節(jié)點包含`class="red"`都將返回

// 例如:
<div class="red">...</div>
<p class="green red">...</p>

通常很多節(jié)點有多個class淘菩,我們可以查找同時包含red和green的節(jié)點:

var a = $('.red.green'); // 注意沒有空格遵班!
// 符合條件的節(jié)點:
<div class="red green">...</div>
<div class="blue green red">...</div>

按屬性查找

一個DOM節(jié)點除了id和class外還可以有很多屬性,很多時候按屬性查找會非常方便潮改,比如在一個表單中按屬性來查找:

var email = $('[name=email]'); // 找出<??? name="email">
var passwordInput = $('[type=password]'); // 找出<??? type="password">
var a = $('[items="A B"]'); // 找出<??? items="A B">

當(dāng)屬性的值包含空格等特殊字符時狭郑,需要用雙引號括起來。

按屬性查找還可以使用前綴查找或者后綴查找:

var icons = $('[name^=icon]'); // 找出所有name屬性值以icon開頭的DOM
// 例如: name="icon-1", name="icon-2"
var names = $('[name$=with]'); // 找出所有name屬性值以with結(jié)尾的DOM
// 例如: name="startswith", name="endswith"

通過class屬性查找汇在,且不受class包含多個名稱的影響:

var icons = $('[class^="icon-"]'); // 找出所有class包含至少一個以`icon-`開頭的DOM
// 例如: class="icon-clock", class="abc icon-home"

組合查找

組合查找就是把上述簡單選擇器組合起來使用

只希望查找<input>翰萨,就可以這么寫:

var emailInput = $('input[name=email]'); // 不會找出<div name="email">

根據(jù)tag和class來組合查找也很常見:

var tr = $('tr.red'); // 找出<tr class="red ...">...</tr>


多項選擇器

多項選擇器就是把多個選擇器用,組合起來一塊選

$('p,div'); // 把<p>和<div>都選出來
$('p.red,p.green'); // 把<p class="red">和<p class="green">都選出來
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市糕殉,隨后出現(xiàn)的幾起案子亩鬼,更是在濱河造成了極大的恐慌,老刑警劉巖阿蝶,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雳锋,死亡現(xiàn)場離奇詭異,居然都是意外死亡羡洁,警方通過查閱死者的電腦和手機魄缚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來焚廊,“玉大人冶匹,你說我怎么就攤上這事∨匚粒” “怎么了嚼隘?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長袒餐。 經(jīng)常有香客問我飞蛹,道長,這世上最難降的妖魔是什么灸眼? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任卧檐,我火速辦了婚禮,結(jié)果婚禮上焰宣,老公的妹妹穿的比我還像新娘霉囚。我一直安慰自己,他們只是感情好匕积,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布盈罐。 她就那樣靜靜地躺著榜跌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪盅粪。 梳的紋絲不亂的頭發(fā)上钓葫,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機與錄音票顾,去河邊找鬼础浮。 笑死,一個胖子當(dāng)著我的面吹牛奠骄,可吹牛的內(nèi)容都是我干的霸旗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼戚揭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了撵枢?” 一聲冷哼從身側(cè)響起民晒,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锄禽,沒想到半個月后潜必,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡沃但,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年磁滚,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宵晚。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡垂攘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出淤刃,到底是詐尸還是另有隱情晒他,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布逸贾,位于F島的核電站陨仅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏铝侵。R本人自食惡果不足惜灼伤,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望咪鲜。 院中可真熱鬧狐赡,春花似錦、人聲如沸疟丙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至发皿,卻和暖如春崔慧,著一層夾襖步出監(jiān)牢的瞬間穴墅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工玄货, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人松捉。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像隘世,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子丙者,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理械媒,服務(wù)發(fā)現(xiàn),斷路器纷捞,智...
    卡卡羅2017閱讀 134,704評論 18 139
  • 選擇器選擇器是jQuery的核心。 事件 動畫 擴展
    wyude閱讀 479評論 0 1
  • 一主儡、樣式篇 第1章 初識jQuery (1)環(huán)境搭建 進入官方網(wǎng)站獲取最新的版本 http://jquery.co...
    凜0_0閱讀 3,394評論 0 44
  • 按ID查找 返回的對象是jQuery對象 或 jQuery對象和DOM對象之間可以互相轉(zhuǎn)化 完整代碼 按tag查找...
    子木同閱讀 334評論 0 0
  • 《王者榮耀》是由騰訊游戲開發(fā)并運行的一款運營在Android世分、IOS平臺上的MOBA類手機游戲,于2015年11月...
    蚌殼1閱讀 453評論 0 1