jQuery介绍 DOM对象和jQuery对象的转换与区别
生活随笔
收集整理的這篇文章主要介紹了
jQuery介绍 DOM对象和jQuery对象的转换与区别
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
jQuery Hello World程序
<script type=“text/javascript” src=“xxx//jquery-x.y.z.js"> 引入jQuery.存在兩個(gè)版本,jquery-x.y.z.min.js是精簡(jiǎn)壓縮版,不帶min的是開發(fā)版,代碼中的注釋和縮進(jìn)等都被保留了. 注意路徑中的”/"需要轉(zhuǎn)義,即用”//“. $()符號(hào)將DOM對(duì)象轉(zhuǎn)化為jQuery對(duì)象. Hello World程序如下: <html> <head> <title>Hello jQuery</title> <script type="text/javascript" src="libs//jquery-1.11.2.js"></script> <script type="text/javascript"> $(document).ready(function () { alert("Hello World"); }); </script> </head> <body> </body> </html> $(document).ready和window.onload的比較 首先看window.onload: window.onload = sayHello; window.onload = sayWorld; function sayHello() { alert("Hello"); } function sayWorld() { alert("World"); } 后面的方法會(huì)覆蓋掉前面的方法,也即彈泡最后只顯示一個(gè),即World的那個(gè). 如果采用$(document).ready,則方法會(huì)串聯(lián)起來,即先顯示Hello的alert,再顯示W(wǎng)orld的. $(document).ready(sayHello); $(document).ready(sayWorld); function sayHello() { alert("Hello"); } function sayWorld() { alert("World"); } 這樣就可以關(guān)聯(lián)多個(gè)方法. 另一個(gè)很小的差別,就是ready方法的執(zhí)行會(huì)稍微靠前一點(diǎn).widow.onload會(huì)等待DOM準(zhǔn)備好,并且所有綁定結(jié)束,而ready只能DOM準(zhǔn)備好,其他工作可能還沒有做好. 實(shí)例:給每一個(gè)超鏈接對(duì)象附加onclick事件 首先,body中添加多個(gè)超鏈接對(duì)象: <body> <a href="#">test1</a><br> <a href="#">test2</a><br> <a href="#">test3</a><br> <a href="#">test4</a> </body> 要給每個(gè)對(duì)象添加onclick事件,可以有多種方法: 首先,可以在每個(gè)a標(biāo)簽里面寫onclick屬性; 其次,可以利用window.onload添加一個(gè)方法,獲取所有的標(biāo)簽,統(tǒng)一添加事件,如下: 復(fù)制代碼 window.onload = function () { var myLinks = document.getElementsByTagName("a"); for(var i = 0; i < myLinks.length; ++i){ myLinks[i].onclick = function(){ alert("Hello link: " + i); } } } 注意,這里我犯了一個(gè)錯(cuò)誤,我本來以為alert的數(shù)目會(huì)遞增,結(jié)果實(shí)際運(yùn)行的結(jié)果是每一個(gè)alert都是4. 這是因?yàn)閖s沒有塊級(jí)作用域,變量i引用的是for里的那個(gè),循環(huán)后變成了4.也即,onclick事件發(fā)生的時(shí)候才去取i的值,當(dāng)然都是4了. 下面用jQuery實(shí)現(xiàn)這一功能: $(document).ready(function () { $("a").click(function () { alert("Hello link from jQuery!"); }); }); jQuery中的$()符號(hào)會(huì)獲得頁面當(dāng)中的所有合適的元素. 所以上面的代碼隱含了遍歷的過程,給每一個(gè)元素都加上了事件處理函數(shù). click方法是jQuery對(duì)象提供的方法. onclick是DOM對(duì)象的屬性. DOM里面的很多屬性到j(luò)Query里面就變成了方法. DOM對(duì)象和jQuery對(duì)象之間的相互轉(zhuǎn)換與區(qū)別 看一個(gè)例子,首先加一個(gè)p標(biāo)簽: <p id="clickMe">Click Me!</p> 先獲得一個(gè)DOM對(duì)象,然后將其轉(zhuǎn)換為一個(gè)jQuery對(duì)象: //Part 1: DOM --> jQuery //DOM object: var pElement = document.getElementsByTagName("p")[0]; alert("DOM pElement: " + pElement.innerHTML); //Convert DOM object to jQuery object: var pElementjQuery = $(pElement); alert("jQuery pElementjQuery: " + pElementjQuery.html()); 也可以先獲得一個(gè)jQuery對(duì)象,再將其轉(zhuǎn)換為DOM對(duì)象: //Part 2: jQuery --> DOM //jQuery object array: var clickMejQuery = $("#clickMe"); //Convert jQuery object to DOM object (2 ways): //way 1: var domClickMe1 = clickMejQuery[0]; alert("dom1: " + domClickMe1.innerHTML); //way 2: var domClickMe2 = clickMejQuery.get(0); alert("dom2: " + domClickMe2.innerHTML); 再次注意:jQuery中$()獲取的是一個(gè)滿足條件的所有元素的數(shù)組. 小總結(jié): $(“字符串”)會(huì)返回滿足條件的所有元素的一個(gè)數(shù)組,其中: 字符串以#開頭,表示id; 字符串以.開頭,表示CSS的class名; 若非以上兩種情況,則改字符串表示標(biāo)簽名. $(DOM對(duì)象)可以得到一個(gè)jQuery對(duì)象.轉(zhuǎn)載于:https://www.cnblogs.com/jinhuixin/p/4203725.html
總結(jié)
以上是生活随笔為你收集整理的jQuery介绍 DOM对象和jQuery对象的转换与区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python模块:win32com用法详
- 下一篇: Agile in a Flash:重新定