jQuery中的一些基本操作總結

      網友投稿 892 2022-05-30

      前言:

      jQuery,顧名思義,也就是 JavaScript 和查詢(Query),它就是輔助 JavaScript 開發的 js 類庫。

      $ 是jQuery的核心函數,能完成jQuery的很多功能。$()就是調用$這個函數

      jQuery 對象是 dom 對象的數組 + jQuery 提供的一系列功能函數。

      jQuery 對象不能使用 DOM 對象的屬性和方法,DOM 對象也不能使用 jQuery 對象的屬性和方法。

      dom 對象轉化為 jQuery 對象:

      $( DOM 對象 ) 就可以轉換成為 jQuery 對象

      jQuery 對象轉為 dom 對象

      jQuery 對象[下標]取出相應的 DOM 對象

      文章目錄

      一.DOM操作

      1.DOM屬性操作

      2. attr()與prop()的區別:

      3.DOM 的增刪改

      二.CSS 樣式操作

      三.jQuery 效果

      1.基本效果

      2.滑動效果

      3.淡入淡出效果

      4.上述三組方法的共同點

      四.`$( function(){} )`和`window.onload = function(){}`的區別

      1.他們分別是在什么時候觸發?

      2.他們觸發的順序?

      3.他們執行的次數?

      4.代碼演示:

      五.jQuery 事件操作

      六.事件冒泡與javaScript 事件對象

      1.事件的冒泡

      2.javaScript 事件對象

      2.1原生javascript獲取事件對象

      2.2jQuery 代碼獲取事件對象

      2.3事件對象event舉例

      一.DOM操作

      1.DOM屬性操作

      html() 它可以設置和獲取起始標簽和結束標簽中的內容。 跟 DOM 屬性 innerHTML 一樣。

      text() 它可以設置和獲取起始標簽和結束標簽中的文本。 跟 DOM 屬性 innerText 一樣。

      val() 它可以設置和獲取表單項的 value 屬性值。 跟 DOM 屬性 value 一樣。

      示例:

      a.html() //取出a的html值 a.html(val) //讓a的html值變為val a.text() //取出a的text值 a.text(val) //讓a的文本值變為val a.val() //取出a的val值(input) a.val(v) //設置a的value值為v //val實戰舉例: // 操作單選 $(":radio").val(["radio2"]); // 批量操作多選框的選中狀態 $(":checkbox").val(["checkbox3","checkbox2"]); // 操作單選的下拉框選中狀態 $("#single").val(["sin2"]); // 批量操作多選的下拉框選中狀態 $("#multiple").val(["mul2","mul3","mul4"]);

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      attr() 可以設置和獲取屬性的值,不推薦操作 checked、readOnly、selected、disabled 等等 ;

      attr 方法還可以操作非標準的屬性。比如自定義屬性:abc,edf。

      removeAttr('xxx') 移除xxx屬性值。

      prop() 可以設置和獲取屬性的值,只推薦操作 checked、readOnly、selected、disabled 等等。

      removeProp('xxx') 移除xxx屬性值。

      示例:

      a.attr('name') //取出a的name值 a.attr("name","username") //把a的name值設置為username a.attr("yushiwen","123") //把a的自定義屬性yushiwen的值設置為123 a.removeAttr('class') //移除a的class屬性 a.prop('id') //取出a的id值 a.prop('id',"wh") //設置a的id值為wh a.removeProp('class') //移除a的class屬性

      1

      2

      3

      4

      5

      6

      7

      2. attr()與prop()的區別:

      當取得checked屬性的值時,如果checked屬性設置了,如下:

      attr()會返回checked,prop()會返回true,如下:

      當取得checked屬性的值時,如果checked屬性沒有設置,如下:

      attr()會返回undefined,prop()會返回false,如下:

      undefined到底是什么呢,官方覺得返回undefined是一個錯誤,

      所以我們在操作checked屬性時,應該使用prop()方法。

      同理readOnly、selected、disabled 等等屬性與checked是一樣的,對它們進行操作時應該使用prop()方法。

      3.DOM 的增刪改

      內部插入:

      appendTo() ,如a.appendTo(b) 把 a 插入到 b 子元素末尾,成為最后一個子元素

      prependTo(),如a.prependTo(b) 把 a 插到 b 所有子元素前面,成為第一個子元素

      外部插入:

      insertAfter() ,如a.insertAfter(b) 得到 ba

      insertBefore(),如a.insertBefore(b) 得到 ab

      替換:

      replaceWith(), 如a.replaceWith(b)

      用 b 替換掉 a,注意這里是用 b 替換掉 a

      replaceAll(),如a.replaceAll(b) 用 a 替換掉所有 b

      刪除:

      remove() ,如a.remove(); 刪除 a 標簽

      empty() ,如 a.empty();清空 a 標簽里的內容

      二.CSS 樣式操作

      css() 讀取或寫入匹配元素的樣式屬性

      addClass() 為元素添加一個或多個class值

      removeClass() 刪除樣式,刪除元素的class值;傳遞一個或多個具體的class值,就會刪除具體的某個或多個class;不傳值就是移除所有的class值。

      toggleClass() 對被選元素進行添加/刪除類的切換操作, 切換就是如果具有該類那么刪除,如果沒有那么添加上

      offset() 獲取和設置元素的坐標。

      示例:

      a.css('color') //取出a元素的color a.css('color',"red") //設置a元素的color為red //實戰演示 //addClass() - 向被選元素添加一個或多個類,下述示例添加多個 $('div:first').addClass("redDiv blackDiv"); //removeClass() - 從被選元素刪除一個或多個類 ,下述示例刪除多個,也就是所有class $('div:first').removeClass(); //toggleClass() - 對被選元素進行添加/刪除類的切換操作 ,切換就是如果具有該類那么刪除,如果沒有那么添加上 $('div:first').toggleClass("redDiv"); //offset() - 返回第一個匹配元素相對于文檔的位置。 var os = $('div:first').offset(); //注意通過offset獲取到的是一個對象,這個對象有兩個屬性top表示頂邊距,left表示左邊距 alert("頂邊距:"+os.top+" 左邊距:"+os.left); //調用offset設置元素位置時,也需要傳遞一個js對象,對象有兩個屬性top和left //offset({ top: 10, left: 30 }); $('div:first').offset({ top:50, left:60 });

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      三.jQuery 效果

      1.基本效果

      show() 將隱藏的元素顯示

      hide() 將可見的元素隱藏。

      toggle() 可見就隱藏,不可見就顯示。

      2.滑動效果

      slideDown() 方法用于向下滑動元素。

      slideUp() 方法用于向上滑動元素。

      slideToggle() 方法可以在 slideDown() 與 slideUp() 方法之間進行切換。如果元素向下滑動,則 slideToggle() 可向上滑動它們。如果元素向上滑動,則 slideToggle() 可向下滑動它們。

      3.淡入淡出效果

      fadeIn() 淡入(慢慢可見)

      fadeOut() 淡出(慢慢消失)

      fadeTo() 在指定時長內慢慢的將透明度修改到指定的值。0 透明,1 完成可見,0.5 半透明

      fadeToggle() 淡入/淡出 切換

      4.上述三組方法的共同點

      以上方法都可以添加參數。

      第一個參數是動畫 執行的時長,以毫秒為單位

      第二個參數是動畫的回調函數 (動畫完成后自動調用的函數)

      四.$( function(){} )和window.onload = function(){}的區別

      1.他們分別是在什么時候觸發?

      $( function(){} )是在jQuery 的頁面加載完成之后,也就是瀏覽器的內核解析完頁面的標簽,創建好 DOM 對象之后就會馬上執行。

      window.onload = function(){}是在原生 js 的頁面加載完成之后,也就是除了要等瀏覽器內核解析完標簽創建好 DOM 對象,還要等標簽顯示時需要的內容加載完成。(如iframe和img等標簽)

      2.他們觸發的順序?

      $( function(){} )是在 jQuery 頁面加載完成之后先執行

      window.onload = function(){}是在原生 js 的頁面加載完成之后

      也就是說$( function(){} )比window.onload = function(){}早執行

      3.他們執行的次數?

      $( function(){} )是jQuery 的頁面加載完成之后是全部把注冊的 function 函數,依次順序全部執行。

      window.onload = function(){}是原生 js 的頁面加載完成之后,只會執行最后一次的賦值函數。

      4.代碼演示:

      代碼:

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      jQuery中的一些基本操作總結

      31

      32

      33

      輸出結果:

      五.jQuery 事件操作

      click() 它可以綁定單擊事件,以及觸發單擊事件。后來添加的元素不會綁定事件

      mouseover() 鼠標移入事件。后來添加的元素不會綁定事件

      mouseout() 鼠標移出事件。后來添加的元素不會綁定事件

      bind() 可以給元素一次性綁定一個或多個事件。后來添加的元素不會綁定事件

      one() 使用上跟 bind 一樣。但是 one 方法綁定的事件只會響應一次。

      unbind() 跟 bind 方法相反的操作,解除事件的綁定

      live() 也是用來綁定事件。它可以用來綁定選擇器匹配的所有元素的事件。哪怕這個元素是后面動態創建出來的也有效

      示例:

      $("h5").click(function () { // 傳function是綁定事件 alert('h5單擊事件 == click方法綁定') }); $("h5").click(); // 不傳function是觸發事件 //鼠標移入 $("h5").mouseover(function () { console.log("你進來了") }); //鼠標移出 $("h5").mouseout(function () { console.log("你出去了") }); // 給元素綁定事件,綁定事件可以鏈式操作 // jquery對象.事件方法(回調函數(){ 觸發事件執行的代碼 }).事件方法(回調函數(){ 觸發事件執行的代碼 }).事件方法(回調函數(){ 觸發事件執行的代碼 }) $(".head").click(function(){ $(".content").toggle(); }).mouseover(function(){ $(".content").toggle(); }); //jQuery提供的綁定方式:bind(type,[data],fn)函數把元素和事件綁定起來 //type表示要綁定的事件 [data]表示傳入的數據 fn表示事件的處理方法 //bind(事件字符串,回調函數),后來添加的元素不會綁定事件 //使用bind()綁定多個事件 type可以接受多個事件類型,使用空格分割多個事件 $(".head").bind("click mouseover",function(){ $(".content").toggle(); }); //one()只綁定一次,綁定的事件只會發生一次 one(type,[data],fn)函數把元素和事件綁定起來 //type表示要綁定的事件 [data]表示傳入的數據 fn表示事件的處理方法 $(".head").one("click mouseover",function(){ $(".content").toggle(); }); //live方法會為現在及以后添加的元素都綁定上相應的事件 $(".head").live("click",function(){ $(".content").toggle(); }); $("#panel").before("

      什么是jQuery?
      "); //之后動態添加元素

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      32

      33

      34

      35

      36

      六.事件冒泡與javaScript 事件對象

      1.事件的冒泡

      什么是事件的冒泡?

      事件的冒泡是指,父子元素同時監聽同一個事件。當觸發子元素的事件的時候,同一個事件也被傳遞到了父元素的事件里去響應。

      那么如何阻止事件冒泡呢?

      在子元素事件函數體內,return false; 可以阻止事件的冒泡傳遞。

      2.javaScript 事件對象

      事件對象,是封裝有觸發的事件信息的一個 javascript 對象。我們重點關心的是怎么拿到這個 javascript 的事件對象。以及使用。

      如何獲取呢 javascript 事件對象呢?

      在給元素綁定事件的時候,在事件的 function( event ) 參數列表中添加一個參數,這個參數名,我們習慣取名為 event。 這個 event 就是 javascript 傳遞參事件處理函數的事件對象。

      //原生javascript獲取 事件對象 window.onload = function () { document.getElementById("areaDiv").onclick = function (event) { console.log(event); } }

      1

      2

      3

      4

      5

      6

      輸出結果:

      //JQuery代碼獲取事件對象 $(function () { $("#areaDiv").click(function (event) { console.log(event); }); });

      1

      2

      3

      4

      5

      6

      可以看到兩者內容是差不多的,只不過jQuery 代碼獲取事件對象把原生javascript獲取事件對象包裝了一下。

      使用 bind 同時對多個事件綁定同一個函數。怎么獲取當前操作是什么事件

      $("#areaDiv").bind("mouseover mouseout",function (event){ if (event.type == "mouseover") { console.log("鼠標移入"); } else if (event.type == "mouseout") { console.log("鼠標移出"); } });

      1

      2

      3

      4

      5

      6

      7

      JavaScript jQuery

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel表格框線加粗的方法教程
      下一篇:新手福音!最全面的易懂CSS總結,一篇博文讓你了解CSS,動一動小手收藏吧
      相關文章
      www国产亚洲精品久久久| 亚洲中文字幕无码一去台湾| 欧美日韩亚洲精品| 成人亚洲国产va天堂| 亚洲另类春色国产精品| 亚洲自偷自拍另类12p| 亚洲成AV人在线播放无码 | 国产亚洲成人在线播放va| 亚洲精品乱码久久久久久蜜桃| 在线看亚洲十八禁网站| 国产亚洲一卡2卡3卡4卡新区 | 国产成人亚洲综合无码精品| 日韩亚洲一区二区三区| 亚洲V无码一区二区三区四区观看| 亚洲va无码手机在线电影| 久久亚洲国产视频| 91亚洲导航深夜福利| 亚洲精品国产福利片| 亚洲va成无码人在线观看| 亚洲午夜在线播放| 亚洲日韩国产欧美一区二区三区 | 亚洲精品无码日韩国产不卡av| 亚洲丁香婷婷综合久久| 香蕉视频亚洲一级| 亚洲AV蜜桃永久无码精品| 亚洲综合久久夜AV | 亚洲人成网站在线播放vr| 亚洲成a人片在线观看日本| 亚洲伊人久久大香线蕉苏妲己| 亚洲精品国产成人| 久久精品国产亚洲AV忘忧草18| 亚洲综合色一区二区三区| 亚洲sm另类一区二区三区| 亚洲AV无码一区二区三区国产| 亚洲日韩涩涩成人午夜私人影院| 亚洲色成人WWW永久网站| 亚洲福利视频一区| 精品亚洲成在人线AV无码| 亚洲AV色无码乱码在线观看| 亚洲精品国产高清嫩草影院| 亚洲国产精品VA在线看黑人 |