JQuery學(xué)習(xí)筆記(一)

教程主要是來自慕課網(wǎng)的Aaron艾倫,如有冒犯叛赚,請見諒

在教程中用的是JQuery1.9,在官網(wǎng)http://jquery.com/download可以進行下載,當(dāng)然現(xiàn)在已經(jīng)是3.1版本了驻仅,不過基本原理是相似的其徙。

JQuery是一個庫唯灵,不需要進行安裝丰泊,只需要在頁面的<head></head>標簽內(nèi)進行script腳本中引入即可薯定。如下:


測試JQuery的運行

對于JQuery來說它本身還是JavaScript代碼,但是它還是對JavaScript進行了很好的包裝處理瞳购,提供了很多好用的功能话侄。

對于JQuery和DOM對象來說,是不一樣的学赛,兩者之間可以互相轉(zhuǎn)換年堆。看下例子盏浇。


對上訴元素進行獲取然后給這個文本節(jié)點增加文字嘀韧,原生的JavaScript是這樣處理的。

JavaScript處理

利用DOM模型提供的document.getElementById()方法獲取的是一個DOM對象用innerHTML屬性處理文本缠捌。

而JQuery是這樣處理的锄贷。

JQuery處理

通過$()方法會得到一個JQuery對象,這是一個類數(shù)組的對象曼月,對象內(nèi)部是包含DOM對象的信息然后封裝許多操作方法,通過調(diào)用自己的html方法得到與用純JavaScript的效果一致谊却。通過JQuery方法包裝的到的是JQeury對象,與DOM對象一樣他們都能處理DOM哑芹。

如何將JQuery對象轉(zhuǎn)化成DOM對象炎辨?

①利用數(shù)組下標的方式讀取JQuery中的DOM對象

? ? ?假如有如下HTML代碼,想將其中的div中的文字變成紅色字體:

JQuery處理

JQuery找到所以div元素聪姿,共三個,因為JQuery對象也是一個數(shù)組結(jié)構(gòu),所以可以通過下標來找元素碴萧,返回的是DOM對象,通過調(diào)用style屬性修改顏色末购。注意:同JAVA數(shù)組一樣破喻,它的下標是從0開始的。

②通過JQuery自帶的get()方法


JQuery處理

JQuery對象自身提供了一個get()方法允許直接訪問對象內(nèi)相關(guān)的DOM節(jié)點盟榴。

如何將DOM對象轉(zhuǎn)化成JQuery對象曹质?

$(參數(shù))是一個多功能的方法,通過傳遞不同的參數(shù)而產(chǎn)生不同的作用擎场。

如果傳遞給$(DOM)函數(shù)的參數(shù)是一個DOM對象羽德,jQuery方法會把這個DOM對象給包裝成一個新的jQuery對象。例子如下:

JQuery處理

通過getElementsByTagName獲取所以div節(jié)點的元素迅办,結(jié)果是一個dom合集對象宅静,通過$()方法轉(zhuǎn)化成JQuery對象,用first和css獲取第一個元素和修改顏色站欺。

JQuery的選擇器

①id選擇器:用來查找ID姨夹,即元素的ID屬性

? 格式:$('#id')

在JQuery內(nèi)部采用的函數(shù)是用document.getElementById()來處理ID的獲取究驴,注意的是id是唯一的,每個id值在一個頁面中只能使用一次匀伏。如果多個元素分配了相同的id洒忧,將只匹配該id選擇集合的第一個DOM元素。但這種行為不應(yīng)該發(fā)生;有超過一個元素的頁面使用相同的id是無效的

②類選擇器:通過class樣式名來獲取節(jié)點

? 格式:$('.class')

對于id選擇器來說够颠,它的效率要低一些熙侍,但它可以多選,同樣履磨,JQuery內(nèi)部是利用document.getElementByClassName()來實現(xiàn)的蛉抓。


JavaScript和JQuery對比

可見在JQuery內(nèi)部還實現(xiàn)了循環(huán)處理。

③元素選擇器:通過給定的標志名稱選擇所以元素

? ?格式:$('element')

搜索指定元素標簽名的所有節(jié)點剃诅,這個是一個合集的操作巷送。同樣的也有原生方法getElementsByTagName()函數(shù)支持。


JavaScript和JQuery對比

可見在JQuery內(nèi)部還實現(xiàn)了循環(huán)處理矛辕。

④全選擇器(*選擇器)

? 格式:$('*')

通配符*便是選中所有元素笑跛,在JavaScript中同樣可以使用document.getElementByTagName('*')來獲取相應(yīng)的節(jié)點。

⑤層級選擇器:處理元素與元素之間的子元素聊品、后代元素飞蹂、兄弟元素、相鄰元素翻屈。


層級選擇器的區(qū)別

對于層級選擇器來說陈哑,都有一個參考節(jié)點。后代選擇器包含了子選擇器的選擇內(nèi)容伸眶;一般兄弟選擇器包含相鄰兄弟選擇的內(nèi)容惊窖;相鄰兄弟選擇器和一般兄弟選擇器選擇到的元素必須在同一父元素下。

⑥基本篩選選擇器:篩選選擇器的用法與CSS中的偽元素相似厘贼,選擇器用冒號“:”開頭.


基本篩選器的描述

注意事項:

┝:eq(), :lt(), :gt(), :even, :odd 用來篩選他們前面的匹配表達式的集合元素界酒,根據(jù)之前匹配的元 ? ? ? 素在進一步篩選,注意jQuery合集都是從0開始索引

┝gt是一個段落篩選涂臣,從指定索引的下一個開始盾计,gt(1) 實際從2開始

⑦內(nèi)容篩選選擇器:通過內(nèi)容來過濾


內(nèi)容過濾器描述

注意事項:

┝:contains與:has都有查找的意思,但是contains查找包含“指定文本”的元素赁遗,has查找包含“指 ? ? ?定元素”的元素

┝如果:contains匹配的文本包含在元素的子元素中,同樣認為是符合條件的族铆。

┝:parent與:empty是相反的岩四,兩者所涉及的子元素,包括文本節(jié)點

⑧可見性篩選選擇器:元素有顯示狀態(tài)與隱藏狀態(tài)哥攘,jQuery根據(jù)元素的狀態(tài)擴展了可見性篩選選擇 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?器:visible與:hidden


可見性篩選選擇器描述

:hidden選擇器剖煌,不僅僅包含樣式是display="none"的元素材鹦,還包括隱藏表單、visibility等等耕姊。

隱藏一個元素的方式:

┝CSS display的值是none桶唐。

┝type="hidden"的表單元素。

┝寬度和高度都顯式設(shè)置為0茉兰。

┝一個祖先元素是隱藏的尤泽,該元素是不會在頁面上顯示

┝CSS visibility的值是hidden

┝CSS opacity的指是0

注意:如果元素中占據(jù)文檔中一定的空間,元素被認為是可見的」媪常可見元素的寬度或高度坯约,是大于零。元素的visibility: hidden 或 opacity: 0被認為是可見的莫鸭,因為他們?nèi)匀徽加每臻g布局闹丐。

⑨屬性篩選選擇器:基于屬性來定位一個元素


屬性篩選選擇器描述

TIPS:在這么多屬性選擇器中[attr="value"]和[attr*="value"]是最實用的

[attr="value"]能幫我們定位不同類型的元素,特別是表單form元素的操作被因,比如說input[type="text"],input[type="checkbox"]等卿拴。[attr*="value"]能在網(wǎng)站中幫助我們匹配不同類型的文件

子元素篩選選擇器


子元素篩選選擇器描述

注意事項:

┝:first只匹配一個單獨的元素,但是:first-child選擇器可以匹配多個:即為每個父級元素匹配第一個子元素梨与。這相當(dāng)于:nth-child(1)

┝:last 只匹配一個單獨的元素巍棱, :last-child 選擇器可以匹配多個元素:即,為每個父級元素匹配最后一個子元素

┝如果子元素只有一個的話蛋欣,:first-child與:last-child是同一個

┝:only-child匹配某個元素是父元素中唯一的子元素航徙,就是說當(dāng)前子元素是父元素中唯一的元素,則匹配

┝jQuery實現(xiàn):nth-child(n)是嚴格來自CSS規(guī)范陷虎,所以n值是“索引”到踏,也就是說,從1開始計數(shù)尚猿,:nth-child(index)從1開始的窝稿,而eq(index)是從0開始的

┝nth-child(n) 與 :nth-last-child(n) 的區(qū)別前者是從前往后計算,后者從后往前計算

?表單元素選擇器


表單選擇器描述

注意:

除了input篩選選擇器凿掂,幾乎每個表單類別篩選器都對應(yīng)一個input元素的type值伴榔。大部分表單類別篩選器可以使用屬性篩選器替換庄萎。比如 $(':password') == $('[type=password]')

?表單對象屬性篩選選擇器:對所選擇的表單元素進行篩選


表單篩選選擇器描述

注意事項:

┝選擇器適用于復(fù)選框和單選框,對于下拉框元素, 使用 :selected 選擇器

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末糠涛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子忍捡,更是在濱河造成了極大的恐慌切黔,老刑警劉巖具篇,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異驱显,居然都是意外死亡,警方通過查閱死者的電腦和手機秒紧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來熔恢,“玉大人,你說我怎么就攤上這事叙淌〕诱疲” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵鹰霍,是天一觀的道長闻鉴。 經(jīng)常有香客問我,道長茂洒,這世上最難降的妖魔是什么孟岛? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮督勺,結(jié)果婚禮上渠羞,老公的妹妹穿的比我還像新娘。我一直安慰自己智哀,他們只是感情好次询,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瓷叫,像睡著了一般屯吊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上摹菠,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天盒卸,我揣著相機與錄音,去河邊找鬼辨嗽。 笑死世落,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的糟需。 我是一名探鬼主播屉佳,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼洲押!你這毒婦竟也來了武花?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤杈帐,失蹤者是張志新(化名)和其女友劉穎体箕,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挑童,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡累铅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了站叼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娃兽。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖尽楔,靈堂內(nèi)的尸體忽然破棺而出投储,到底是詐尸還是另有隱情,我是刑警寧澤玛荞,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布呕寝,位于F島的核電站,受9級特大地震影響客蹋,放射性物質(zhì)發(fā)生泄漏怔球。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一闽巩、第九天 我趴在偏房一處隱蔽的房頂上張望涎跨。 院中可真熱鬧崭歧,春花似錦、人聲如沸叔营。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽婴谱。三九已至,卻和暖如春华糖,著一層夾襖步出監(jiān)牢的瞬間瘟裸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工十办, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留超棺,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓件相,卻偏偏與公主長得像夜矗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子紊撕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

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