本文實例分析了DOM物件與jQuery物件的轉換與差異。分享給大家供大家參考。具體分析如下:
jQuery Hello World程式:
$()符號將DOM物件轉換為jQuery物件.
Hello World程式如下:
$(document).ready與window.onload的比較
先看window.onload:
後面的方法會覆蓋掉前面的方法,也即彈泡最後只顯示一個,即World的那個.
如果採用$(document).ready,則方法會串連起來,即先顯示Hello的alert,再顯示World的.
這樣就可以關聯多重方法.
另一個很小的差別,就是ready方法的執行會稍微靠前一點.widow.onload會等待DOM準備好,並且所有綁定結束,而ready只能DOM準備好,其他工作可能還沒有做好.
實例:給每一個超連結物件附加onclick事件
首先,body中加入多個超連結物件:
注意,這裡我犯了一個錯誤,我本來以為alert的數目會遞增,結果實際運行的結果是每一個alert都是4.
這是因為js沒有塊級作用域,變數i引用的是for裡的那個,循環後變成了4.也即,onclick事件發生的時候才去取i的值,當然都是4了.
下面用jQuery實作這項功能:
jQuery中的$()符號會獲得頁面當中的所有適當的元素.
所以上面的程式碼隱含了遍歷的過程,給每一個元素都加上了事件處理函數.
click方法是jQuery物件提供的方法.
onclick是DOM物件的屬性.
DOM裡面的很多屬性到jQuery裡面就變成方法.
DOM物件與jQuery物件之間的相互轉換與區別
看一個例子,先加一個p標籤:
Click Me!
先取得一個DOM物件,然後將其轉換為一個jQuery物件:
也可以先取得一個jQuery物件,再轉換為DOM物件:
//way 2:
var domClickMe2 = clickMejQuery.get(0);
alert("dom2: " domClickMe2.innerHTML);
再一次注意:jQuery中$()取得的是一個滿足條件的所有元素的陣列.
小總結:
$("字串")會傳回滿足條件的所有元素的一個陣列,其中:
字串以#開頭,表示id;
字串以.開頭,表示CSS的class名稱;
若非以上兩種情況,則改字串表示標籤名.
$(DOM物件)可以得到一個jQuery物件.
希望本文所述對大家的jQuery程式設計有所幫助。