jQuery是一個可以簡化 JavaScript?以及AJAX(Asynchronous JavaScript +
XML,異步Javascript和XML)編程的Javascript庫。不同于其他的Javascript庫,jQuery有他自己的哲學,使你可以
很簡單的編寫代碼。這篇文章就會帶領你見識一下jQuery的哲學,探討一下他的特性以及功能,并且會做一些ajax的示例,以及如何使用plug-in
(插件)來擴展jQuery。 1. 什么是jQuery? jQuery 是個很優秀的Javascript庫,它誕生于2006年,出自John Resig之手。不管你是一個javascript新手,但是卻想嘗試一下DOM(Document Object Model)以及Ajax的繁雜,抑或你是個javascript專家級人物,但是已經厭倦了反復的重復那無味的DOM以及Ajax腳本,jQuery都 將是你的不二選擇。 jQuery會幫助你保持代碼的簡單和簡潔。你不必再去寫一大堆重復的循環或者是DOM調用腳本,使用jQuery,你將很快找到關鍵點,并且可以以最少的代碼表達你的思想。 jQuery的哲學其實很單一:簡單、可重用。當你理解并且認同這種思想的時候,你就可以開始體會一下使用jQuery能讓你的編程變得多么輕松愉快了! 2. 一些簡單概念 這里是個簡單的例子,向你展示jQuery如何影響你編寫的代碼。做的事情其實很簡單,比如對頁面上某一區域內的所有鏈接都添加一個click響應事件,你可以使用一般的Javascript以及DOM來寫,代碼見Listing1: Listing 1. DOM scripting without jQuery var external_links = document.getElementById(‘external_links‘);$()函數返回一個包含與css選擇符匹配的所有元素的一個jQuery對象. jQuery對象的概念就像是數組,但是它可能含有許多jQuery函數. 舉例來說,你可以調用click函數來綁定一個click事件響應到jQuery對象中的每個元素上. 你還可以向$()函數傳遞一個元素或者是元素的數組,它將把所有的元素打包成一個jQuery對象.你可能想要把這一特性應用到象窗口對象上面.舉例來說, 你有可能使用此函數來加載事件,像這樣: window.onload = function() {如果使用jQuery的話,你可以這樣寫: $(window).load(function() {這段代碼創建一個document元素的jQuery對象, 然后當html DOM文檔準備完畢后調用此實例. 你可以無限次的調用這個函數. 另外, 在真正的jQuery風格代碼中,這個函數還有一個縮寫形式.簡單的傳遞一個函數給$()函數: $(function() {到現在位置,我已經向你展示了三種不同的使用$()函數的方法.第四種方式, 你可以使用一個字符串創建一個元素. 結果是一個包含此元素的jQuery對象. Listing3展示了一個增加一段到頁面上的例子: Listing 3. Creating and appending a simple paragraph 正如你從上面的例子中看到的一樣,jQuery還有一個很強大的功能就是方法鏈(method chaining), 每次你對一個jQuery對象調用一個方法,這個方法將同樣返回一個jQuery對象. 這就是說如果你需要對一個jQuery對象調用多個方法的話, 你可以不必重復寫css選擇符,可以像這樣: $(‘#message‘).css(‘background‘, ‘yellow‘).html(‘Hello!‘).show();通 常,你可能需要向服務器端的頁面傳遞一些參數. 你可能猜到了, 使用jQuery來實現的話會十分簡單. 你可以選擇使用$.post()或者$.get(), 當然要根據你的具體需要. 如果需要, 你可以傳遞一個可選的數據對象和一個回調函數. Listing4是一個發送數據以及使用回調函數的簡單例子: Listing 4. Sending data to a page with Ajax 如果你真的想要一些復雜的Ajax代碼,那就是用$.ajax()函數. 你可以指定數據類型為xml, html, script或者json, jQuery 會為你自動準備好結果一遍你的回調函數能夠立即使用這些數據. 你還可以設定 beforeSend ,
error , success , 以及
complete 回調函數來給用戶一些ajax體驗的更多提示信息. 另外,還有一些參數,可以讓你設置ajax請求的超時時間,或者一個頁面的"最后更改"狀態. Listing5展示了一個獲取xml文檔并使用我上面提到的一些參數的簡單例子:Listing 5. Complex Ajax made simple with $.ajax() 當 你成功的獲得xml反饋的時候, 你可以使用jQuery來遍歷xml文檔,就像你操作html的方式一樣. 這使操作一個xml文件以及整合內容到頁面上變得十分的簡單. Listing6 擴展了success函數, 根據xml文檔里的每個<item>在頁面上增加一個了list(列表)條目. Listing 6. Working with XML using jQuery
|
|