jquery學(xué)習(xí)筆記

前言

暑假的時(shí)候雖然說(shuō)學(xué)習(xí)過(guò)一遍jQuery了佛南,但只是眼過(guò)一遍,熟悉了基本的使用并沒(méi)有做記錄表牢,趁著學(xué)校這兩天學(xué)校運(yùn)動(dòng)會(huì)放假隙咸,決定整理一篇jQuery的筆記沐悦,方便以后復(fù)習(xí),以上均通過(guò)w3school學(xué)習(xí)。


課程章結(jié)

jQuery介紹

關(guān)鍵詞簡(jiǎn)介五督、安裝藏否、語(yǔ)法選擇器充包、事件副签、名稱沖突

  • 簡(jiǎn)介:jQuery是一個(gè)JavaScript函數(shù)庫(kù),它的宗旨是“write less遥椿,do more”,也就是一個(gè)輕量級(jí)的"寫(xiě)的少,做的多"的JavaScript庫(kù)淆储。
  • 安裝:
    • 下載jQuery到本地冠场,從本地載入
    • 引用CDN中加載jQuery
      • 使用以下代碼可以加載CDN,使用引用CDN的方式有一個(gè)很大的優(yōu)勢(shì)就是許多用戶在訪問(wèn)其他站點(diǎn)的時(shí)候已經(jīng)加載過(guò)jQuery本砰,結(jié)果就是當(dāng)這些人訪問(wèn)站點(diǎn)時(shí)碴裙,會(huì)直接從緩存中加載jQuery,從而減少加載時(shí)間点额。而且舔株,大多數(shù)CDN都可以確保用戶在請(qǐng)求文件時(shí),從最近的服務(wù)器上返回響應(yīng)还棱,從而提高加載速度载慈;
    <head>
    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
    </script>
    </head> 
    
  • 語(yǔ)法:
    • jQuery的基本語(yǔ)法是$(selector).action()
      • 美元符號(hào)定義 jQuery
      • 選擇符(selector)"查詢"和"查找" HTML 元素
      • action()函數(shù) 執(zhí)行對(duì)元素的操作
    • 為了防止文檔在完全加載(就緒)之前運(yùn)行 jQuery 代碼,$(document).ready(function(){});將jQuery函數(shù)寫(xiě)在這個(gè)函數(shù)中
  • 選擇器
    • 常見(jiàn)的選擇器有以下幾種:
      • 元素選擇器:$('p')
      • id選擇器:$('#id')
      • .class選擇器:$(".class")
      • $('p.test')表示選擇類別名為test的p標(biāo)簽
      • $("a[target='_blank']"):表示選取所有target屬性值為_blanka標(biāo)簽
      • 更多可參考jquery選擇器手冊(cè)
  • 事件
    • jQuery事件處理方法是jQuery的核心函數(shù)珍手,事件處理程序指的是當(dāng)HTML中發(fā)生某些事件所調(diào)用的方法娃肿,也叫作“觸發(fā)”;(通常把jQuery代碼放在<head>部分的事件處理方法中珠十;詳細(xì)的事件參考jQuery事件手冊(cè)
    • 可以分為:鼠標(biāo)事件(click),鍵盤(pán)事件(keypress)凭豪,表單事件(submit)焙蹭,文檔/窗口事件(load、scroll)等等
    • 實(shí)例:
      • $(this).hide() - 隱藏當(dāng)前元素
      • $("p").hide() - 隱藏所有段落
      • $("p .test").hide() - 隱藏所有 class="test" 的段落
      • $("#test").hide() - 隱藏所有 id="test" 的元素
      • $('p').click(function(){});-點(diǎn)擊p元素執(zhí)行函數(shù)
  • 名稱沖突
    • 由于其他庫(kù)也可能使用$符號(hào)嫂伞,那么就會(huì)引起沖突孔厉,jQuery中使用noConflict()方法來(lái)解決這個(gè)問(wèn)題
    • 注意事項(xiàng)
      • 把所有的jQuery代碼置于事件處理函數(shù)中;
      • 把所有事件處理函數(shù)置于文檔就緒事件處理器中帖努;
      • 把jQuery代碼置于單獨(dú)的.js文件中;
      • 如果存在名稱沖突撰豺,則重命名jQuery庫(kù);

示例
<iframe height='265' scrolling='no' title='jQuery1' src='//codepen.io/longtean/embed/vmGQyj/?height=265&theme-id=0&default-tab=html,result&embed-version=2' frameborder='no' allowtransparency='true' allowfullscreen='true' style='width: 100%;'>See the Pen <a >jQuery1</a> by LongTean (<a >@longtean</a>) on <a >CodePen</a>.
</iframe>

jquery效果

關(guān)鍵詞隱藏顯示拼余、淡入淡出污桦、滑動(dòng)動(dòng)畫(huà)匙监、stop()凡橱、callback方法chaining

  • 顯示隱藏
    • show(),hide(),比如隱藏的使用語(yǔ)法為:$('selector').hide(speed,callback),其中speed為速度亭姥,callback為完成隱藏動(dòng)作后執(zhí)行的函數(shù)稼钩,另外,toggle()可以顯示和隱藏
  • 淡入淡出
    • 有fadeIn(),fadeToggle(),fadeTo(),使用語(yǔ)法同上达罗,fadeTo(speed,opacity,callback)可以改變透明度坝撑。
  • 滑動(dòng)
    • slideDown(),slideToggle(speed,callback)
  • 動(dòng)畫(huà)
    • animate()方法,使用語(yǔ)法為$(selector).animate({params},speed,callback);必需的 params 參數(shù)定義形成動(dòng)畫(huà)的 CSS 屬性,可選的 speed 參數(shù)規(guī)定效果的時(shí)長(zhǎng)。它可以取以下值:"slow"巡李、"fast" 或毫秒,可選的 callback 參數(shù)是動(dòng)畫(huà)完成后所執(zhí)行的函數(shù)名稱抚笔。
      • 例:點(diǎn)擊按鈕,將div元素向右移動(dòng)250px的同時(shí)击儡,將透明度變?yōu)?.5且高度變?yōu)?50px寬邊為150px
      $("button").click(function(){
      $("div").animate({
          left:'250px',
          opacity:'0.5',
          height:'150px',
          width:'150px'
          });
      });  
      
      • 需要注意的是css屬性名必須像這么寫(xiě):marginLeft塔沃。。阳谍。駱駝命名法吧
  • stop()
    • 用來(lái)在動(dòng)畫(huà)或效果完成前對(duì)他們停止蛀柴,使用語(yǔ)法$(selector).stop(stopAll,goToEnd);,其中可選參數(shù)stopAll規(guī)定是否應(yīng)該清除動(dòng)畫(huà)隊(duì)列,默認(rèn)是false矫夯,即僅停止活動(dòng)的動(dòng)畫(huà)鸽疾,但允許隊(duì)列中的其他動(dòng)畫(huà)執(zhí)行;可選參數(shù)goToEnd表示是否立即完成當(dāng)前動(dòng)畫(huà)训貌,默認(rèn)為false制肮;
  • callback()
    • 此函數(shù)在當(dāng)前動(dòng)畫(huà)100%完成之后執(zhí)行;因?yàn)镴S語(yǔ)句是逐一執(zhí)行的递沪,為了避免因?yàn)閯?dòng)畫(huà)還沒(méi)執(zhí)行完成而造成動(dòng)畫(huà)與之后的語(yǔ)句之間可能產(chǎn)生的錯(cuò)誤或者頁(yè)面沖突豺鼻,建議以參數(shù)的形式添加Callback函數(shù);
  • chaining
    • Chaining允許我們?cè)谝粭l語(yǔ)句中添加多個(gè)方法款慨,例如$('p').css('color', 'red').slideUp(2000).slideDown(2000);儒飒,這是p元素就會(huì)先改變css樣式,然后收縮檩奠,最后張開(kāi)桩了;
      示例
      <iframe height='265' scrolling='no' title='jQuery2' src='//codepen.io/longtean/embed/BRKbQv/?height=265&theme-id=0&default-tab=js,result&embed-version=2' frameborder='no' allowtransparency='true' allowfullscreen='true' style='width: 100%;'>See the Pen <a >jQuery2</a> by LongTean (<a >@longtean</a>) on <a >CodePen</a>.
      </iframe>

jquery HTML

關(guān)鍵詞捕獲設(shè)置埠戳、添加井誉、刪除css類整胃、css()颗圣、尺寸

  • 捕獲
    • 操作DOM的常用方法
      • text() - 設(shè)置或返回所選元素的文本內(nèi)容
      • html() - 設(shè)置或返回所選元素的內(nèi)容(包括 HTML 標(biāo)記)
      • val() - 設(shè)置或返回表單字段的值
    • 獲取屬性的方法
      • attr()- 用于獲取屬性值
  • 設(shè)置
    • 設(shè)置內(nèi)容也是用上一節(jié)提到的三個(gè)函數(shù),不過(guò)需要在括號(hào)中加入需要設(shè)置的內(nèi)容屁使;
    • 同時(shí)需要知道欠啤,這三個(gè)jQuery方法都擁有回調(diào)函數(shù),函數(shù)有兩個(gè)參數(shù)屋灌,分別為被選元素列表中當(dāng)前元素的下標(biāo)以及原始值洁段,text()、html() 以及 val() 的回調(diào)函數(shù)共郭;
    • 利用attr()來(lái)設(shè)置屬性時(shí)可以同時(shí)設(shè)置多個(gè)屬性祠丝,屬性之間利用逗號(hào)隔開(kāi)疾呻,此方法同樣具有回調(diào)函數(shù);
  • 添加元素
    • 利用jQuery可以很容易的添加新元素写半,具體有如下四個(gè)方法
      • append()- 在被選元素的結(jié)尾插入內(nèi)容或元素
      • prepend()-在被選元素的開(kāi)頭插入內(nèi)容或元素岸蜗;
      • after()-在被選元素之后插入內(nèi)容或元素;
      • before()-在被選元素之前插入內(nèi)容或元素叠蝇;
      • append()prepend()方法能夠通過(guò)參數(shù)接收無(wú)限數(shù)量的新元素璃岳。可以通過(guò) jQuery 來(lái)生成文本/HTML悔捶,或者通過(guò) JavaScript 代碼和 DOM 元素铃慷。

      注意:append()在一個(gè)元素的尾部添加內(nèi)容,不添加新節(jié)點(diǎn)蜕该,而after是在被選元素之后添加內(nèi)容犁柜,添加了新節(jié)點(diǎn)。

  • 刪除
    • 刪除元素和添加元素類似堂淡,有以下幾個(gè)方法
      • remove() -刪除被選元素及其子元素馋缅,括號(hào)中可添加選擇器,用于刪除符合選擇器條件的元素及其子元素绢淀;
      • empty()-從被選元素中刪除子元素萤悴;
  • css類
    • 利用jQuery可以很容易的操作css元素,主要方法有
      • addClass()-向被選元素添加一個(gè)或多個(gè)類(添加多個(gè)類的時(shí)候類名稱之間用空格隔開(kāi))皆的;
      • removeClass()-從被選元素刪除一個(gè)或多個(gè)類覆履;
      • toggle()-對(duì)被選元素添加/刪除類的切換操作;
  • css()
    • 設(shè)置或返回被選元素的一個(gè)或多個(gè)樣式屬性祭务,語(yǔ)法為css('propertyName')如果有多個(gè)滿足被選條件,則只返回第一個(gè)元素的屬性怪嫌;
    • 如需設(shè)置CSS屬性义锥,則需使用語(yǔ)法為css('propertyName', 'value'),此時(shí)將所有滿足條件的元素的樣式都設(shè)置成目標(biāo)樣式岩灭;
  • 尺寸
    • 通過(guò)jQuery很容易處理元素和瀏覽器窗口的尺寸拌倍,主要的方法如下:
      • width()-設(shè)置或返回元素的寬度(不包括內(nèi)邊距、邊框和外邊距)噪径,如果對(duì)象為document或者window柱恤,則表示返回HTML文檔或者瀏覽器窗口的寬度和高度;如果在括號(hào)中加入數(shù)字找爱,則表示將對(duì)應(yīng)的尺寸設(shè)置為對(duì)應(yīng)的值梗顺;
      • height()-設(shè)置或返回元素的高度(不包括內(nèi)邊距、邊框和外邊距)车摄;
      • innerWidth()-返回元素的寬度(包括內(nèi)邊距)寺谤;
      • innerHeight()-返回元素的高度(包括內(nèi)邊距)仑鸥;
      • outerWidth()-返回元素的寬度(包括內(nèi)邊距和邊框),如果括號(hào)中增加參數(shù)‘true’則表示返回包括內(nèi)外邊距及邊框的寬度变屁;
      • outerHeight()-返回元素的高度(包括內(nèi)邊距和邊框)眼俊,如果括號(hào)中增加參數(shù)‘true’則表示返回包括內(nèi)外邊距及邊框的高度;

示例
<iframe height='265' scrolling='no' title='jQuery3' src='//codepen.io/longtean/embed/wdWgBE/?height=265&theme-id=0&default-tab=js,result&embed-version=2' frameborder='no' allowtransparency='true' allowfullscreen='true' style='width: 100%;'>See the Pen <a >jQuery3</a> by LongTean (<a >@longtean</a>) on <a >CodePen</a>.
</iframe>

jQuery遍歷

關(guān)鍵詞遍歷粟关、祖先疮胖、后代同胞闷板、過(guò)濾

  • 遍歷
    • 遍歷用于根據(jù)其相對(duì)于其他元素的關(guān)系來(lái)查找或者選取HTML元素澎灸;
    • DOM遍歷:遍歷方法中最大的種類是樹(shù)遍歷tree-traversal
  • 祖先
    • 祖先元素包括父元素、祖父元素等等蛔垢,常用的方法為:
      • parent()-返回被選元素的直接父元素击孩;
      • parents()-返回被選元素的所有祖先元素,其中甚至包括文檔的根元素鹏漆;
      • parentsUntil()-返回介于兩個(gè)給定元素之間的祖先元素巩梢;
  • 后代
    • 與祖先相對(duì)的,后代指的是子艺玲、孫括蝠、曾孫等,常用的方法為:
      • children()-返回被選元素的直接子元素饭聚;
      • find()-返回被選元素的被find的元素忌警,包括所有后代;
  • 同胞
    • 同胞擁有相同的父元素秒梳,常用的方法為:
      • siblings():返回所有被選元素的同胞元素法绵;
      • next():返回被選元素的下一個(gè)同胞元素;
      • nextAll():返回被選元素的所有跟隨的同胞元素酪碘;
      • nextUntil():返回介于兩個(gè)給定參數(shù)之間的所有跟隨的同胞元素朋譬;
      • prev():返回被選元素的上一個(gè)同胞元素;
      • prevAll():返回被選元素的所有前面的同胞元素兴垦;
      • prevUntil():返回介于兩個(gè)給定參數(shù)之間的所有的同胞元素徙赢;
  • 過(guò)濾
    • 縮小搜索元素的范圍,常用的方位有以下幾種:
      • first():返回被選元素的首個(gè)子元素探越;
      • last():返回被選元素的最后一個(gè)元素狡赐;
      • eq():返回被選元素中帶有指定索引號(hào)的元素;
      • filter():返回符合匹配標(biāo)準(zhǔn)的元素集合钦幔;
      • not():返回不匹配標(biāo)準(zhǔn)的所有元素集合枕屉;

jquery Ajax

AJAX 是與服務(wù)器交換數(shù)據(jù)的技術(shù),它在不重載全部頁(yè)面的情況下鲤氢,實(shí)現(xiàn)了對(duì)部分網(wǎng)頁(yè)的更新搀庶。AJAX = 異步 JavaScript 和 XML(Asynchronous JavaScript and XML)拐纱。
簡(jiǎn)短地說(shuō),在不重載整個(gè)網(wǎng)頁(yè)的情況下哥倔,AJAX 通過(guò)后臺(tái)加載數(shù)據(jù)秸架,并在網(wǎng)頁(yè)上進(jìn)行顯示。這一章我準(zhǔn)備寫(xiě)一篇專門(mén)的博客來(lái)介紹咆蒿,附上教程ajax教程.


總結(jié)

寫(xiě)了這么多东抹,不僅是一種分享,希望更多地人看到沃测,能對(duì)他們有所幫助缭黔,也是自己的一種總結(jié),寫(xiě)在筆記本上的筆記會(huì)只屬于自己蒂破,而寫(xiě)在這里的筆記馏谨,屬于我們。
?共勉

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末附迷,一起剝皮案震驚了整個(gè)濱河市惧互,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌喇伯,老刑警劉巖喊儡,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異稻据,居然都是意外死亡艾猜,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)捻悯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)匆赃,“玉大人,你說(shuō)我怎么就攤上這事今缚∷懔” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵荚斯,是天一觀的道長(zhǎng)埠居。 經(jīng)常有香客問(wèn)我查牌,道長(zhǎng)事期,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任纸颜,我火速辦了婚禮兽泣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘胁孙。我一直安慰自己唠倦,他們只是感情好称鳞,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著稠鼻,像睡著了一般冈止。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上候齿,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天熙暴,我揣著相機(jī)與錄音,去河邊找鬼慌盯。 笑死周霉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的亚皂。 我是一名探鬼主播俱箱,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼灭必!你這毒婦竟也來(lái)了狞谱?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤厂财,失蹤者是張志新(化名)和其女友劉穎芋簿,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體璃饱,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡与斤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了荚恶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撩穿。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡辩恼,死狀恐怖疮跑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情烛恤,我是刑警寧澤廓潜,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布抵皱,位于F島的核電站,受9級(jí)特大地震影響辩蛋,放射性物質(zhì)發(fā)生泄漏呻畸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一悼院、第九天 我趴在偏房一處隱蔽的房頂上張望伤为。 院中可真熱鬧,春花似錦据途、人聲如沸绞愚。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)位衩。三九已至裆蒸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間糖驴,已是汗流浹背光戈。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留遂赠,地道東北人久妆。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像跷睦,于是被迫代替她去往敵國(guó)和親筷弦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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