大連 網(wǎng)站建設(shè): 如何使用jQuery簡(jiǎn)化Ajax開(kāi)發(fā)
一些簡(jiǎn)單地代碼簡(jiǎn)化
下面是一個(gè)簡(jiǎn)單示例,它說(shuō)明了 jQuery 對(duì)代碼的影響。要執(zhí)行一些真正簡(jiǎn)單和常見(jiàn)的任務(wù),比方說(shuō)為頁(yè)面的某一區(qū)域中的每個(gè)鏈接附加一個(gè)單擊(click)事件,您可以使用純 JavaScript 代碼和 DOM 腳本來(lái)實(shí)現(xiàn),如實(shí)例 1 所示。
清單 1 :沒(méi)有使用 jQuery 地 DOM 腳本
var external_links = document.getElementById('external_links');
var links = external_links.getElementsByTagName('a');
for (var i=0;i < links.length;i++) {
var link = links.item(i);
link.onclick = function() {
return confirm('You are going to visit: ' + this.href);
};
}
清單 2 顯示了使用 jQuery 實(shí)現(xiàn)的相同的功能。
清單 2. 使用了 jQuery 的 DOM 腳本
$('#external_links a').click(function() {
return confirm('You are going to visit: ' + this.href);
});
是不是很神奇呢? 使用 jQuery,您可以把握問(wèn)題的要點(diǎn),只讓代碼實(shí)現(xiàn)您想要的功能,而省去了一些繁瑣的過(guò)程。無(wú)需對(duì)元素進(jìn)行循環(huán),click() 函數(shù)將完成這些操作。同樣也不需要進(jìn)行多個(gè) DOM 腳本調(diào)用。您只需要使用一個(gè)簡(jiǎn)短的字符串對(duì)所需的元素進(jìn)行定義即可。
理解這一代碼的工作原理可能會(huì)有一點(diǎn)復(fù)雜。
首先,我們使用了 $() 函數(shù) —— jQuery 中功能最強(qiáng)大的函數(shù)。通常,我們都是使用這個(gè)函數(shù)從文檔中選擇元素。在本例中,一個(gè)包含有一些層疊樣式表(Cascading Style Sheet,CSS)語(yǔ)法的字符串被傳遞給函數(shù),然后 jQuery 盡可能高效地把這些元素找出來(lái)。
如果您具備 CSS 選擇器的基本知識(shí),那么應(yīng)該很熟悉這些語(yǔ)法。在 清單 2 中,#external_links 用于檢索 id 為 external_links 的元素。a 后的空格表示 jQuery 需要檢索 external_links 元素中的所有 元素。用英語(yǔ)說(shuō)起來(lái)非常繞口,甚至在 DOM 腳本中也是這樣,但是在 CSS 中這再簡(jiǎn)單不過(guò)了
$() 函數(shù)返回一個(gè)含有所有與 CSS 選擇器匹配的元素的 jQuery 對(duì)象。jQuery 對(duì)象 類似于數(shù)組,但是它附帶有大量特殊的 jQuery 函數(shù)。比方說(shuō),您可以通過(guò)調(diào)用 click 函數(shù)把 click 處理函數(shù)指定給 jQuery 對(duì)象中的所有元素。
還可以向 $() 函數(shù)傳遞一個(gè)元素或者一個(gè)元素?cái)?shù)組,該函數(shù)將把這些元素封裝在一個(gè) jQuery 對(duì)象中。您可能會(huì)想要使用這個(gè)功能將 jQuery 函數(shù)用于一些對(duì)象,比方說(shuō) window 對(duì)象。例如,我們通常會(huì)像下面這樣把函數(shù)分配給加載事件:
window.onload = function() {
// do this stuff when the page is done loading
};
使用 jQuery 編寫的功能相同的代碼:
$(window).load(function() {
// run this when the whole page has been downloaded
});
您可能有所體會(huì),等待窗口加載的過(guò)程是非常緩慢而且令人痛苦的,這是因?yàn)楸仨毜日麄€(gè)頁(yè)面加載完所有的內(nèi)容,包括頁(yè)面上所有的的圖片。有的時(shí)候,您希望首先完成圖片加載,但是在大多數(shù)情況下,您只需加載超文本標(biāo)志語(yǔ)言(Hypertext Markup Language,HTML)就可以了。通過(guò)在文檔中創(chuàng)建特殊的 ready 事件,jQuery 解決了這個(gè)問(wèn)題,方法如下:
$(document).ready(function() {
// do this stuff when the HTML is all ready
});
這個(gè)代碼圍繞 document 元素創(chuàng)建了一個(gè) jQuery 對(duì)象,然后建立一個(gè)函數(shù),用于在 HTML DOM 文檔就緒的時(shí)候調(diào)用實(shí)例。可以根據(jù)需要任意地調(diào)用這個(gè)函數(shù)。并且能夠以真正的 jQuery 格式,使用快捷方式調(diào)用這個(gè)函數(shù)。這很簡(jiǎn)單,只需向 $() 函數(shù)傳遞一個(gè)函數(shù)就可以了:
$(function() {
// run this when the HTML is done downloading
});
到目前以止,我已經(jīng)向大家介紹了 $() 函數(shù)的三種用法。第四種方法可以使用字符串來(lái)創(chuàng)建元素。結(jié)果會(huì)產(chǎn)生一個(gè)包含該元素的 jQuery 對(duì)象。清單 3 顯示的示例在頁(yè)面中添加了一個(gè)段落。
實(shí)例 3. 創(chuàng)建和附加一個(gè)簡(jiǎn)單的段落
Copyright@ 2011-2016 版權(quán)所有:大連千億科技有限公司 遼ICP備11013762-3號(hào) google網(wǎng)站地圖 百度網(wǎng)站地圖 網(wǎng)站地圖
公司地址:大連市沙河口區(qū)中山路692號(hào)辰熙星海國(guó)際2317 客服電話:0411-39943997 QQ:2088827823 37482752
法律聲明:未經(jīng)許可,任何模仿本站模板、轉(zhuǎn)載本站內(nèi)容等行為者,本站保留追究其法律責(zé)任的權(quán)利! 隱私權(quán)政策聲明