jquery篇

image.png

1. jQuery是什么带猴?(了解)###

2. jQuery的重點###

2.1 jQuery入口函數(全球都會)
2.2 jQuery的選擇器(其實就是CSS的選擇器)
2.3 jQuery的Dom操作
2.4 jQuery的樣式操作
2.5 jQuery的動畫
2.6 jQuery的事件處理

3.jQuery的入口函數###

  • 3.1 語法

    • jQuery(document).read(function(){ });
    • $(function(){ });// **
    • window.onlaod = function(){}
    • $ === jQuery // $是jQuery全局函數的別名躲舌。
  • 3.2注意事項: (重點)

    • document ready: 是html文檔準備就緒丑婿,也就是dom樹創(chuàng)建完成了∶恍叮可以進行dom操作了羹奉。 重要的是:html頁面下載完成,并準備就緒

    • window.onload: 是整個頁面所有的資源都加載完成约计,圖片诀拭、js、css等…

  • 3.3 文檔加載順序: (重點)

  • 下載html頁面煤蚌,解析html標簽耕挨,遇到link標簽加載css,遇到script加載js..

4. jQuery 選擇選取元素###

4.1 jQuery選擇器####

  • 4.1.1 ID選擇器(js一般盡量用ID選擇器尉桩,效率最高) (重點)$(“#id”).html();

  • 4.1.2 類選擇器 (重點)$(“.className”).text();

  • 4.1.3 標簽選擇器 (重點)$(‘p’).click();

  • 4.1.4 屬性選擇器$(“l(fā)i[id]”)筒占、 $(“l(fā)i[id=’link’]”).fadeIn();

  • 4.1.5 層級選擇器 (重點)$(“l(fā)i .link”).show();

  • 4.1.6 父子選擇器$(“ul > li”)

  • 4.1.7 偽類選擇器$(“p:first”)
    $(“ul li:eq(3)”)

  • 4.1.8 表單選擇器$(“:text”)
    $(“:checkbox”)
    $(“:checked”)

4.2 選擇器匯總####

Paste_Image.png
Paste_Image.png
Paste_Image.png

4.3 jQuery選擇方法####

4.3.1 獲取父級元素
* $(selector).parent(); //獲取直接父級
* $(selector).parents('p'); //獲取所有父級元素直到html
4.3.2 獲取子代和后代的元素
* $(selector).children(); //獲取直接子元素
* $(selector).find("span"); //獲取所有的后代元素
* find方法 可能用的多。
4.3.3 獲取同級的元素
* $(selector).siblings() //所有的兄弟節(jié)點
* $(selector).next() //下一個節(jié)點
* $(selector).nextAll() //后面的所有節(jié)點
* $(selector).prev() //前面一個的兄弟節(jié)點
* $(selector).prevAll() //前面的所有的兄弟節(jié)點
4.3.4 過濾方法
* $("div p").last(); //取最后一個元素
* $("div p").first(); //取第一個元素
* $("p").eq(1); //去第n個元素
* $("p").filter(".intro"); //過濾魄健,選擇所有p標簽帶有 .intro類
$('p.intro')
* $("p").not(".intro"); //去除赋铝,跟上面的filetr正好相反

5.jQuery的Dom操作##

5.1 獲取html的內容####

$(selector).text() - 設置或返回所選元素的文本內容
$(selector).html() - 設置或返回所選元素的內容(包括 HTML 標記)
$(selector).val()  - 設置或返回表單字段的值
  • 通過不同參數來確定是獲取還是設置值
    $("#blin").text("傳智播客"); var txt = $("#blin").text();

  • 使用html來創(chuàng)建dom的方式效率比較高嗽冒。 遠大于: document.createElement();

  • 案例:02動態(tài)創(chuàng)建表格.html

5.2 樣式操作####

  • 5.2.1 基本樣式操作
    $(selector).css("color","red") |css({}) 設置或返回匹配元素的樣式屬性疫诽。
    $(selector).height() 設置或返回匹配元素的高度。
    $(selector).offset().left => { left:99, top: 22} 返回第一個匹配元素相對于文檔的位置屉符。left,top
    $(selector).offsetParent() 返回最近的定位祖先元素析恋。
    $(selector).position() 返回第一個匹配元素相對于父元素的位置良哲。
    $(window).scrollLeft() 設置或返回匹配元素相對滾動條左側的偏移。
    $(window).scrollTop(0) 設置或返回匹配元素相對滾動條頂部的偏移助隧。

    $(selector).on("scroll",function(){}); $(selector).width() 設置或返回匹配元素的寬度筑凫。

  • 5.2.2 樣式類操作*盡量操作樣式類,少直接操作css屬性
    $(selector).addClass('class'); 向匹配的元素添加指定的類名并村。
    $(selector).removeClass('class'); 從所有匹配的元素中刪除全部或者指定的類巍实。
    $(selector).toggleClass('class') 從匹配的元素中添加或刪除一個類。
    $(selector).hasClass('class') 檢查匹配的元素是否擁有指定的類哩牍。

  • 5.3 屬性操作
    $(selector).attr("id") 設置或返回匹配元素的屬性和值
    $(selector).removeAttr()從所有匹配的元素中移除指定的屬性棚潦。

  • 5.4 動態(tài)創(chuàng)建
    $(selector).append() - 在被選元素的結尾插入內容
    $(selector).append(node)
    $(selector).append('<div></div>')
    $(selector).appendTo(); - 追加到..
    $(selector).prepend() - 在被選元素的開頭插入內容
    $(selector).after() - 在被選元素之后插入內容
    $(selector).before() - 在被選元素之前插入內容

案例04城市選擇案例.html

6. 事件處理##

6.1 簡單事件綁定方法####

  • .click(hander) .click() //綁定事件 或者觸發(fā) click事件
  • .blur() //失去焦點事件,同上
  • .hover(mousein, mouseleave) //鼠標移入膝昆,移出
  • mouseout: 當鼠標離開元素及它的子元素的時都會觸發(fā)丸边。
  • mouseleave: 當鼠標離開自己時才會觸發(fā)叠必,子元素不觸發(fā)。
  • .dbclick() 雙擊
  • change 改變,比如:文本框發(fā)送改變妹窖,下來列表發(fā)生改變等…
  • focus 獲得焦點
  • keyup, keydown, keypress : 鍵盤 鍵被按下纬朝。
  • mousedown, mouseover

6.2 綁定事件的方式 bind方式(不推薦,1.7以后的jQuery版本被on取代)

  • 語法格式:.bind( eventType [, eventData ], handler )

  • 參數說明

  • 第一個參數:事件類型

  • 第二個參數:傳遞給事件響應方法的數據對象骄呼,可以省略共苛。

  • 事件響應方法中獲取數據方式: e.data

  • 第三個參數:事件響應方法第二個參數可以省略。

    例如:
    $("p").bind("click", function(e){ 
    //事件響應方法
     });   
    $("p").on('click',function(e){
    //事件響應方法
    })
    

6.3 delegate方式(推薦谒麦,性能高俄讹,支持動態(tài)創(chuàng)建的元素)####

  • 語法格式:$(selector).delegate( selector, eventType, handler )
  • 語法說明:
    • 第一個參數:selector, 子選擇器
    • 第二個參數:事件類型
    • 第三個參數:事件響應方法
    例如:   
    $(".parentBox").delegate("p", "click", function(){
        //為 .parentBox下面的所有的p標簽綁定事件
    });

    $(".parentBox").on("click","p", function(){
        //為 .parentBox下面的所有的p標簽綁定事件
    });

優(yōu)勢:效率較高

6.4 one綁定一次事件的方式####

* .one( events [, data ], handler )

例如:

$( "p" ).one( "click", function() { 
   alert( $( this ).text() );
});      
$("p").on("click",function(){
    $(this).off('click');
   //事件方法執(zhí)行了一次后绕德,就立即解綁事件
})

6.5 on綁定的方式(整合了bind、delegate 烈建議使用的方式))####

  • jQuery1.7版本后摊阀,jQuery用on統(tǒng)一了所有的事件處理的方法
  • 語法格式:$(selector).on( events [, selector ] [, data ], handler )
  • 參數介紹:
    • 第一個參數:events耻蛇,事件名

    • 第二個參數:selector,類似delegate

    • 第三個參數: 傳遞給事件響應方法的參數

    • 第四個參數:handler,事件處理方法

      例如:
       //綁定一個方法
      $( "#dataTable tbody tr" ).on( "click", function() { 
            console.log( $( this ).text() );
       }); 
       //給子元素綁定事件
       $( "#dataTable tbody" ).on( "click", "tr", function() {
           console.log( $( this ).text() );
        }); 
        //綁定多個事件的方式
       $( "div.test" ).on({
           click: function() {
                $( this ).toggleClass( "active" ); 
           }, mouseenter: function() {
                $( this ).addClass( "inside" );
           }, mouseleave: function() { 
                $( this ).removeClass( "inside" );
           } 
        });
      

6.6 解綁####

  • unbind解綁 bind方式綁定的事件( 在jQuery1.7以上被 on和off代替)

    • $(selector).unbind(); //解綁所有的事件
    • $(selector).unbind(“click”); //解綁指定的事件
  • undelegate解綁delegate事件

    • $( “p” ).undelegate(); //解綁所有的delegate事件
    • $( “p” ).undelegate( “click” ); //解綁所有的click事件
  • off解綁on方式綁定的事件

    • $( “p” ).off();
    • $(“P”).off(‘click’);
    • $( “p” ).off( “click”, “*” ); // 解綁所有的click事件胞此,兩個表示所有
    • $( “body” ).off( “click”, “p”, foo );

6.7 觸發(fā)事件####

  • 6.7.1 簡單事件觸發(fā)
    $(selector).click(); //觸發(fā) click事件
  • 6.7.2 trigger方法觸發(fā)事件
    $( “#foo” ).trigger( “click” );
  • 6.7.3 triggerHandler觸發(fā) 事件響應方法臣咖,不觸發(fā)瀏覽器行為
    $( “input” ).triggerHandler( “focus” );

6.8event對象的簡介####

  • event.data //傳遞的額外事件響應方法的額外參數
  • event.currentTarget === this //在事件響應方法中等同于this,當前Dom對象
  • event.target //事件觸發(fā)源漱牵,不一定===this
  • event.pageX //The mouse position relative to the left edge of the document
  • event.pageY
  • event.stopPropagation()//阻止事件冒泡
  • e.preventDefault(); //阻止默認行為
  • event.type //事件類型:click夺蛇,dbclick…
  • event.which //鼠標的按鍵類型:左1 中2 右3
  • keydown : a,b,c
  • event.keyCode// code的c是大寫

7. jQuery動畫系統(tǒng)##

7.1隱藏顯示####

* $(selector).show(speed,callback);
* $(selector).hide(1000);
* $(selector).toggle("slow");
* 三個方法的語法都一致,參數可以有兩個酣胀,第一個是動畫的速度刁赦,第二個是動畫執(zhí)行完成后的回調函數。
* 第一個參數是:可以是單詞或者毫秒數

7.2淡入淡出####

$(selector).fadeIn(speed,callback)
$(selector).fadeOut(1000)
$(selector).fadeToggle('fast',function(){})參數等同于 7.1*     
$(selector).fadeTo(.5); //淡入到 0透明闻镶,1不透明

7.3滑動####

* $(selector).slideDown(speed,callback);
* $(selector).slideUp(speed,callback);
* $(selector).slideToggle(speed,callback);

7.4動畫####

* $(selector).animate({params},speed,callback);

$("button").click(function(){ 
        $("div").animate({
                  left:'250px', 
                  opacity:'0.5',
                  height:'150px',
                  width:'150px' 
         },2000); 
}).animate({},1000);

7.5結束動畫####

* $(selector).stop()
* $(selector).stop(stopAll,goToEnd);

8. jQuery補充##

8.1 each函數####

  • 全局的
  • $.each(array, function(index, object){})
  • 普通jQuery對象的each方法
  • $(“l(fā)i”).each(function(index, element){} )
  • 參數的順序是一致的甚脉。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市铆农,隨后出現的幾起案子牺氨,更是在濱河造成了極大的恐慌,老刑警劉巖墩剖,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件猴凹,死亡現場離奇詭異,居然都是意外死亡岭皂,警方通過查閱死者的電腦和手機郊霎,發(fā)現死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蒲障,“玉大人歹篓,你說我怎么就攤上這事瘫证。” “怎么了庄撮?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵背捌,是天一觀的道長。 經常有香客問我洞斯,道長毡庆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任烙如,我火速辦了婚禮么抗,結果婚禮上,老公的妹妹穿的比我還像新娘亚铁。我一直安慰自己蝇刀,他們只是感情好,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布徘溢。 她就那樣靜靜地躺著吞琐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪然爆。 梳的紋絲不亂的頭發(fā)上站粟,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機與錄音曾雕,去河邊找鬼奴烙。 笑死,一個胖子當著我的面吹牛剖张,可吹牛的內容都是我干的切诀。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼修械,長吁一口氣:“原來是場噩夢啊……” “哼趾牧!你這毒婦竟也來了?” 一聲冷哼從身側響起肯污,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤翘单,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蹦渣,有當地人在樹林里發(fā)現了一具尸體哄芜,經...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年柬唯,在試婚紗的時候發(fā)現自己被綠了认臊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡锄奢,死狀恐怖失晴,靈堂內的尸體忽然破棺而出剧腻,到底是詐尸還是另有隱情,我是刑警寧澤涂屁,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布书在,位于F島的核電站,受9級特大地震影響拆又,放射性物質發(fā)生泄漏儒旬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一帖族、第九天 我趴在偏房一處隱蔽的房頂上張望栈源。 院中可真熱鬧,春花似錦竖般、人聲如沸甚垦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽制轰。三九已至,卻和暖如春胞谭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背男杈。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工丈屹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人伶棒。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓旺垒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親肤无。 傳聞我的和親對象是個殘疾皇子先蒋,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內容

  • (續(xù)jQuery基礎(1)) 第5章 DOM節(jié)點的復制與替換 (1)DOM拷貝clone() 克隆節(jié)點是DOM的常...
    凜0_0閱讀 1,342評論 0 8
  • 1.JQuery 基礎 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設計者無需花費時間糾纏JS復雜的高級特性宛渐。 1....
    LaBaby_閱讀 1,341評論 0 2
  • 1.JQuery 基礎 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式竞漾。設計者無需花費時間糾纏JS復雜的高級特性。 1....
    LaBaby_閱讀 1,174評論 0 1
  • 通過jQuery窥翩,您可以選纫邓辍(查詢,query)HTML元素寇蚊,并對它們執(zhí)行“操作”(actions)笔时。 jQuer...
    枇杷樹8824閱讀 657評論 0 3
  • 2017年11月4日,培訓進入第三天仗岸。主要學習了后備母豬的刺激發(fā)情與同步發(fā)情允耿,以及B超儀的使用和人工授精借笙,尤其是深...
    順超閱讀 401評論 0 0