新手如何學習 jQuery?
可以看張曉菲的《鋒利的jQuery》,重點是自己理解函數用法並自行實現一些常用的效果。
如果需要快速查閱可以用這個api,每個函數都附有簡單的示例:http://api.jquery.com/browser/ (註:這個jQuery庫的版本不是最新的delegate等函數在這兒查不到。歡迎補充別的api~)jQuery側重點就是選擇器和基本的DOM操作,還有一些動畫操作,但是js中非DOM操作的部分基本沒有涉及。
其實jQuery的門檻很低,我在看jQuery的時候對原生js的東西也知之甚少,在看的過程中遇到不會的多求助搜索引擎,多嘗試,當然最好做一下筆記。
測試代碼推薦直接在jsfiddle上測試,左側你可以自行選擇需要的jQuery庫版本:http://jsfiddle.net/
//=======================有一點需要注意,jQuery只是工具,jQuery學的再好也無法替代原生的js,比如jQuery翻遍了你也不會知道- JavaScript語言中共有幾種基本類型
- 什麼是原型
- 什麼是閉包
- 什麼是原型鏈,作用域鏈
- js只有函數作用域,沒有塊作用域該怎麼理解
- 先大體看看JQuery有哪些功能。
- 如果有JS基礎,那就在寫代碼的時候試著用JQuery來實現你的功能。如果沒有JS基礎,那就直接從JQuery的Demo開始練習。
你需要理解javascript核心概念,不理解Javascript,jQuery架構看過去就是一個很奇怪的樣子。
學習jquery ,最好的方法還是實踐,新手學習jquery配合jquery API(如下圖)去開發絕對比單純的看書強:
當然只是動手寫代碼,提高畢竟有瓶頸:
寫過一段時間代碼看《鋒利的jQuery》和 阮一峰的這兩篇文章肯定有很深的感觸:jQuery最佳實踐jQuery設計思想當然正如@zhiyelee 所言,作為一個開發者原生的javascript是必須要會而且熟練的,要更好的學好jquery沒有原生js基礎肯定不行。阮一峰剛出鍋的文章,還是熱的,趕緊看:http://www.ruanyifeng.com/blog/2011/07/jquery_fundamentals.html 《jquery設計思想》
學習jQuery一定要有JavaScript的基礎,有了一定基礎後你就會發現原來jQuery是如此簡單東西。
1. 首先我們要了解什麼是jQuery。jQuery是JavaScript的一個類庫,其本質就是為了簡化JavaScript複雜操作而存在,我們都知道JavaScript在操作DOM節點時非常蛋疼,而在jQuery中卻能夠變得非常簡單,如;$("div"),便能夠選中div元素。jQuery能讓你在文檔中輕鬆找到關心的元素,並對這些元素進行操作:添加內容、編輯、HTML屬性和CSS屬性、定義事件處理程序以及執行動畫。而且它還擁有AJAX工具來動態發起HTTP請求,以及一些通用的工具函數來操作對象與數組。而這些一切的便利及優點都是在有了JavaScript基礎上才能體會得到的。
2. 了解到了jQuery是個什麼東西以後,便需要了解一些它最基礎的東西。它的核心語法是$,它是jQuery類庫中定義的一個全局函數:jQuery()。由於該函數使用特別頻繁,所以定義了一個快捷命名:$。
3. 而jQuery最讓程序員覺得爽的是,這種鏈式調用。如:$("p").css("bacnkground-color","yellow")。(將所有p標籤的背景顏色改為黃色)。這樣寫顯得簡潔緊湊,也增加了代碼的可讀性。
4. 其實jQuery就是這麼簡單的東西,之後的很多操作,包括過濾器啊,事件處理以及一些動畫效果,都可以直接上W3Cschool中查詢,如果對它感興趣的話還可以再看看它的源碼,就它的原理再進行一些了解。
5. 然後可以再搭配一些視頻網站(jQuery視頻教程_jQuery基礎教程),一些教學文章(阮一峰),以及查看一下jQuery的API(jquery 在線手冊),其實真的是比想像中的要簡單很多。
記得引入jQuery文件在JavaScript文件之前。
&<&< 鋒利的jquery &>&> 推薦 不過還是強調 學習一下原聲js 會對你很有幫助
Jquery是繼prototype之後又一個優秀的Javascrīpt框架。使用上jquery之後,馬上被她的優雅吸引住了。有人使用這樣的一比喻來比較prototype和jquery:prototype就像Java,而jquery就像ruby。jquery的簡單的實用的確有相當大的吸引力啊!
使用環境與編寫工具
- 如何引入JQuery在head標籤內加入這個 & 這是引用代碼 &
- 讓Dreamweaver支持提示代碼功能
要讓Dreamweaver支持jQuery自動提示代碼功能,方法很簡單,下載一個插件—jQuery_API.mxp,以及cs4的jQuery語法提示插件。
在Dreamweaver里依次選擇「命令」 -&> 「擴展管理」 -&> 「安裝擴展」 -&> …,就會自動安裝了。 成功後重啟Dreamweaver,就大功告成了。
jQuery常用方法,語言特點
獲取jQuery集合的某一項
對於獲取的元素集合,獲取其中的某一項(通過索引指定)可以使用eq或get(n)方法或者索引號獲取,要注意,eq返回的是jquery對象,而get(n)和索引返回的是dom元素對象。對於jquery對象只能使用jquery的方法,而dom對象只能使用dom的方法,如要獲取第三個
元素的內容。有如下兩種方法:$("div").eq(2).html(); //調用jquery對象的方法
$("div").get(2).innerHTML; //調用dom的方法屬性
集合處理功能
對於jquery返回的集合內容無需我們自己循環遍歷並對每個對象分別做處理,jquery已經為我們提供的很方便的方法進行集合的處理。
包括兩種形式:
$("p").each(function(i){this.style.color=["#f00","#0f0","#00f"][ i ]})
//為索引分別為0,1,2的p元素分別設定不同的字體顏色。
支持方法的連寫
所謂連寫,即可以對一個jquery對象連續調用各種不同的方法。連寫代碼風格估計是jQuery最有特色之一了。
例如:
$("p").click(function(){alert($(this).html())})
.mouseover(function(){alert("mouse over event")})
.each(function(i){this.style.color=["#f00","#0f0","#00f"][ i ]});
操作元素的樣式
主要包括以下幾種方式:
$("#msg").css("background"); //返回元素的背景顏色
$("#msg").css("background","#ccc") //設定元素背景為灰色
END
學習jQuery該注意哪些
學習jQuery,要自己寫代碼,深入到開發中鍛煉,理論結合實際,才會提升價值,不斷的去實踐,不斷在實際代碼中找出他們的規律,發現他們的原理,以及他們之間相互的關係,才能提升jQuery,才能理解jQuery的精髓。
jQuery入門課程 視頻教程
題主也可以看一下相關視頻。
《鋒利的jquery》,一邊看這本書一邊看Zakas的javascript高級程序設計,進步會很快
可以通過jquery demo代碼實例來學習。先做一個簡單的demo效果,逐步加深學習深度,慢慢就會使用了,一切語言皆工具,熟練即能生巧。
關於jquery的demo代碼實例可以參考:http://www.zuidaima.com/share/kjquery%E5%AE%9E%E4%BE%8B-p1-s1.htm
如果已經會一點jquery基礎語法,但不知道如何進階,推薦看看《超實用的jQuery代碼段》這本書,是市場上唯一一本jQuery實戰練習書。可以每天堅持寫上10段代碼,這樣堅持半年會有大的提升,而且這些技術都很前沿很流行!如果連語法都不會,則務必看看W3Cshcool的語法。
看官方的文檔就行:http://docs.jquery.com/Main_Page如果非要看書,推薦《鋒利的jQuery》,豆瓣鏈接:http://book.douban.com/subject/3794471/
推薦你參加 http://gbtags.com 的在線知識分享課程,每周都有一個jQuery入門的課程,你可以很方便的實時觀看分享人的操作,並且立刻練習,這裡查看:近期課程日曆 極客標籤
JQuery是一款非常優秀的JavaScript庫,極大地提升了前端js開發體驗,所以最近我在看jquery的源碼,想把自己理解的一些內容分享給大家。
首先來看一下jQuery的總體結構代碼1-1:(function (window, undefined) {/ / construct JQuery objects
Var jQuery = (function () {Var jQuery = function (the selector, context) {
Return new jQuery. Fn. Int (selector, context, rootjQuery);}
Return the jQuery;}) ();
/ / tools Utilities
/ / callback function list Callbacks Object/ / asynchronous queue Deferred Object
/ / browser function test Support
/ / Data cache Data/ / Queue Queue
/ / Attribute operation Attribute/ / Events system Events/ / selector Sizzle/ / DOM traversal Traversing/ / DOM Manipulation operation/ / style operation CSS (computing style, inline style)代碼1-1
從上面的代碼中我們可以看到jquery的所有代碼都是寫在了一個立即執行的匿名函數中,這種函數叫「自調用匿名函數」。當瀏覽器載入了jQuery的js文件後,自調用匿名函數就會立即執行,給jQuery初始化各個模塊。首先講一下用自調用匿名函數的優點,創建自調用匿名函數就相當於創建了一個特殊的函數作用域,該函數中的代碼不會和已有的同名函數、方法和變數衝突。所以jQuery的代碼不會受到其他代碼的干擾,而且也不會污染全局變數,從而影響其他代碼。自調用匿名函數還有兩種寫法,如下:/ / write 1(function () {
/ /...
} ());/ / write 2
!The function () {
/ /...
} ();代碼1-2
從代碼1-1中我們可以看到在自調用匿名函數的最後將jQuery添加到了window對象上,從而使得變數jQuery成為公開的全局變數,其他部分將是私有的。給自調用匿名函數設置參數window,並傳入window對象,可以將window對象變為局部變數(把函數參數作為局部變數使用),這樣當在jQuery代碼塊中訪問window對象時,不需要退回頂層作用域,可以快速的訪問window對象。給自調用匿名函數設置undefined,因為特殊值undefined是window對象的一個屬性,例如:alert("undefined" in window); //true執行以上代碼將會彈出true。通過這種方式可以為確保參數undefined的值是undefined,因為undefined有可能會被重寫為新的值。可以用下面的代碼來嘗試修改undefined的值:
undefined = "now is"s defined";alert( undefined );當然,在高版本的瀏覽器中這種寫該方法已經不支持了,比如IE9.0以上、Chrome 17.0.963.56以上和Firefox 4.0版本都是不能改變的。
通常在JavaScript中,如果語句分別放在不同的行,則分號(;)是可選的可寫可不寫,但是對於自調用匿名函數來說,在之前或之後省略分號都有可能會引起語法錯誤。如下代碼執行就會拋出異常:例1var n = 1(function(){})()
//TypeError: number is not function
在上面的代碼中,如果自調用匿名函數的前一行末尾沒有加分號,則自調用匿名函數的第一對括弧會被當作是函數調用。
例2(function(){})()(function(){})()
//TypeError: undefined is not function
在上面的代碼中,如果未在第一個自調用匿名函數的末尾加分號,則下一行自調用匿名函數的第一對括弧會被當作是函數的調用。所以,在使用自調用匿名函數時,最好不要省略自調用匿名函數的之前和之後的分號。
jQuery對象是一個類數組對象,含有連續的整型屬性、length屬性和大量的JQuery方法。jQuery對象由構造函數jQuery()創建,$()則是jQuery() 的縮寫。如果調用構造函數jQuery() 時傳入的參數不同,創建jQuery對象的邏輯也會隨之不同。構造函數jQuery()有7種用法,如下圖:這次主要是先將jQuery的總體結構講一下,其他的等下次分享。推薦大家看《深入解析jQuery架構設計與實現原理》一書,關於jquery的技術點講的特別細。
更多精彩內容請移步Cobub Razor官網博客。
這樣說吧,原生js是重中之重的基礎,jq是js最好的輔助工具,編程思維要依託於原生,寫法用jq將事半功倍。一般來說,現在js和jq已經不分家了,說起js都會想到jq,平四開發中,也基本都是jq,但是切記,原生的js不能丟
一般手冊會用,,主要是封裝Jquery控制項這塊,感覺比較吃力。