1. 程式人生 > 其它 >前端開發框架jQuery的優勢與基礎知識分享

前端開發框架jQuery的優勢與基礎知識分享

jQuery,顧名思義是JavaScript和查詢(Query),jQuery是免費、開源的。它可以簡化查詢DOM物件、處理事件、製作動畫、處理Ajax互動過程且相容多瀏覽器的javascript庫,核心理念是write less,do more(寫得更少,做得更多)。

jQuery優勢

  1. 體積小,使用靈巧(只需引入一個js檔案)。
  2. 方便的選擇頁面元素(模仿CSS選擇器更精確、靈活)。
  3. 動態更改頁面樣式/頁面內容(操作DOM,動態新增、移除樣式)。
  4. 控制響應事件(動態新增響應事件)。
  5. 提供基本網頁特效(提供已封裝的網頁特效方法)。
  6. 快速實現通訊(ajax)。
  7. 易擴充套件、外掛豐富。
  8. 支援鏈式寫法。

一、jQuery選擇器

  • ID選擇器:$(“#box”);
  • 類名選擇器:$(“.box”);
  • 標籤選擇器:$(“div”);
  • 後代選擇器:$(“#box p”);
  • :first:獲取第一個元素。
  • :last:獲取最後一個元素。
  • :even:匹配所有索引值為偶數的元素,從 0 開始計數。
  • :odd:匹配所有索引值為奇數的元素,從 0 開始計數。
  • :eq(index):匹配一個給定索引值的元素,從 0 開始計數。
  • :not(selector):去除所有與給定選擇器匹配的元素。
  • :has(selector):匹配含有選擇器所匹配的元素的元素。

二、jQuery屬性和樣式CSS

操作屬性:

attr(name|properties|key,value|fn):設定或返回被選元素的屬性值。

removeAttr(name):從每一個匹配的元素中刪除一個屬性。

prop(name|properties|key,value|fn):獲取在匹配的元素集中的第一個元素的屬性值。

removeProp(name):用來刪除由.prop()方法設定的屬性集。

區別:attr可以操作(增刪改查)自定義的節點屬性,而prop不可以(增刪改查)。attr和prop對input的disabled屬性的返回值不一致,attr返回disabled或者undefined,而prop返回布林值

操作Class:

addClass(class|fn) :為每個匹配的元素新增指定的類名。

removeClass([class|fn]) :從所有匹配的元素中刪除全部或者指定的類。

toggleClass(class|fn[,switch]):如果存在(不存在)就刪除(新增)一個類。

操作內容:

html([val|fn]):取得第一個匹配元素的html內容。這個函式不能用於XML文件。但可以用於XHTML文件。

text([val|fn]):取得所有匹配元素的內容。結果是由所有匹配元素包含的文字內容組合起來的文字。這個方法對HTML和XML文件都有效。

val([val|fn|arr]):獲得匹配元素的當前值。如果多選,將返回一個數組,其包含所選的值。

操作CSS:

css(name|pro|[,val|fn]):訪問匹配元素的樣式屬性。

操作位置:

offset([coordinates]):獲取匹配元素在當前文件的相對偏移。返回的物件包含兩個整型屬性:top 和 left,以畫素計。方法只對可見元素有效。

position():獲取匹配元素相對父元素的偏移。返回的物件包含兩個整型屬性:top 和 left。為精確計算結果,請在補白、邊框和填充屬性上使用畫素單位。此方法只對可見元素有效。

scrollTop([val]):獲取匹配元素相對滾動條頂部的偏移。此方法對可見和隱藏元素均有效。

scrollLeft([val]):獲取匹配元素相對滾動條左側的偏移。此方法對可見和隱藏元素均有效。

操作尺寸:

height([val|fn]):取得匹配元素當前計算的高度值(px)。

width([val|fn]):取得第一個匹配元素當前計算的寬度值(px)。

innerHeight():獲取第一個匹配元素內部區域高度(包括補白、不包括邊框)。此方法對可見和隱藏元素均有效。

innerWidth():獲取第一個匹配元素內部區域寬度(包括補白、不包括邊框)。此方法對可見和隱藏元素均有效。

outerHeight([options]):獲取第一個匹配元素外部高度(預設包括補白和邊框)。此方法對可見和隱藏元素均有效。

outerWidth([options]):獲取第一個匹配元素外部寬度(預設包括補白和邊框)。此方法對可見和隱藏元素均有效。

注:設定options為true,計算margin在內。

三、過濾查詢

過濾元素:

eq(index|-index):獲取第N個元素。這個元素的位置是從0算起,如果是負數,則從集合中的最後一個元素開始倒數。

first():獲取第一個元素。

last():獲取最後一個元素。

hasClass(class):檢查當前的元素是否含有某個特定的類,如果有,則返回true。

has(expr|ele):保留包含特定後代的元素,去掉那些不含有指定後代的元素。

not(expr|ele|fn):刪除與指定表示式匹配的元素。

查詢元素:

children([expr]):取得一個包含匹配的元素集合中每一個元素的所有子元素的元素集合。只考慮子元素而不考慮所有後代元素。

find(expr|obj|ele):搜尋所有與指定表示式匹配的子元素。

parent([expr]):取得一個包含著所有匹配元素的唯一父元素的元素集合。

offsetParent():返回第一個匹配元素用於定位的父節點。

next([expr]):取得一個包含匹配的元素集合中每一個元素緊鄰的後面同輩元素的元素集合。

nextAll([expr]):查詢當前元素之後所有的同輩元素。

prev([expr]):取得一個包含匹配的元素集合中每一個元素緊鄰的前一個同輩元素的元素集合。

prevAll([expr]):查詢當前元素之前所有的同輩元素。

siblings([expr]):取得一個包含匹配的元素集合中每一個元素的所有唯一同輩元素的元素集合。可以用可選的表示式進行篩選。

串聯操作:

add(expr|ele|html|obj[,con]):把與表示式匹配的元素新增到jQuery物件中。這個函式可以用於連線分別與兩個表示式匹配的元素結果集。返回的結果將始終以元素在HTML文件中出現的順序來排序,而不再是簡單的新增。

andSelf():將先前所選的加入當前元素中。

end():回到最近的一個"破壞性"操作之前。即,將匹配的元素列表變為前一次的狀態。如果之前沒有破壞性操作,則返回一個空集。所謂的"破壞性"就是指任何改變所匹配的jQuery元素的操作。

四、jQuery事件

頁面載入事件:

ready(fn):當DOM載入就緒可以查詢及操縱時繫結一個要執行的函式。這是事件模組中最重要的一個函式,因為它可以極大地提高web應用程式的響應速度。簡單地說,這個方法純粹是對向window.load事件註冊事件的替代方法。

繫結事件:

on(events,[selector],[data],fn):在選擇元素上繫結一個或多個事件的事件處理函式。

off(events,[selector],[fn]):在選擇元素上移除一個或多個事件的事件處理函式。

bind(type,[data],fn):為每個匹配元素的特定事件繫結事件處理函式。

unbind(type,[data|fn]]):bind()的反向操作,從每一個匹配的元素中刪除繫結的事件。如果沒有引數,則刪除所有繫結的事件。

one(type,[data],fn):為每一個匹配元素的特定事件(像click)繫結一個一次性的事件處理函式。

hover([over,]out):當滑鼠移動到一個匹配的元素上面時,會觸發指定的第一個函式。當滑鼠移出這個元素時,會觸發指定的第二個函式。

click([[data],fn]):觸發每一個匹配元素的click事件。這個函式會呼叫執行繫結到click事件的所有函式。

注:其他事件方法使用方式一樣。例如:mouseover、mouseout、dblclick、change、blur、focus、keydown、keyup、keypress、mousedown、mouseup、mousemove、mouseenter、mouseleave、resize、scroll、select、submit、unload等。

相關​前端培訓​開發技術知識,關注我,有更多精彩內容與您分享!