一、什么是Jquery?
其實超級簡單,不要把它想的太難了,Jquery就是一個js(javascript)類庫。
1.1、什么是js類庫?
[JavaScript庫封裝了很多預定義的對象和實用函數,來幫助使用者建立有高難度交互客戶端頁面,並且兼容各大瀏覽器],看到這句話應該就知道了,通俗點講,js類庫就是別人將一些功能寫好了封裝成了函數,而我們直接拿過來調用即可,這就是js類庫。
1.2、什么是Jquery?
Jquery是js類庫的一種,其優點有很多,百度一下基本上就知道了,這里將收集的一些大白話列舉出來,看看即可。
1、開源免費,提供眾多插件
2、jQuery是繼prototype之后又一個優秀的Javascript庫。它是輕量級的js庫 ,它兼容CSS3,還兼容各種瀏覽器[來自百度百科]
3、它的文檔說明很全,而且各種應用也說得很詳細,同時還有許多成熟的插件(aptana)可供選擇。jQuery能夠使js代碼和html內容分離(說明文檔確實很全很詳細,下面就會帶着一起讀文檔,進行操作。)
4、jQuery 口號:The Write Less, Do More
5、待自己去查詢和發現吧~
二、使用Jquery
知道了什么是Jquery,那么接下來就要知道如何使用它。
2.1、導入js庫
jQuery有很多版本,介紹一下各種版本的使用環境
jquery-1.8.3.js:所有的源碼,比較大。開發過程使用
jquery-1.8.3.min.js 壓縮的版本(不易於閱讀)生產環境使用(導入項目中可能會報錯,報錯的話先刪除,等在生產環境時在導入使用)
將要使用的jQuery版本的.js導入項目中,

<!-- /jQuery_day01/js/jquery-1.8.3.js 相對路徑(相對web站點的根) ./ 表示當前頁面所在目錄 ../ 表示當前頁面上一級目錄 <script>導入js庫 type 指定類型 src js位置 注意:如果使用src,標簽體中不能編寫內容 注意:編寫js代碼時,有加載順序問題 1.jquery類庫必須放在使用之前 2.如果直接編寫js代碼,必須放在目標對象(html)的指之后 注意:js庫的位置需要寫准確,否則無法使用 --> <script type="text/javascript" src="../js/jquery-1.8.3.js"></script>
2.2、Jquery的對象的獲取
在導入了js庫之后,就可以在頁面中使用js庫了,這里也就是使用jQuery,獲取jQuery的兩種方式

<script type="text/javascript"> //語法: jQuery 或 $ //#username:是獲取一個id=username的結點(元素) 等價於 //document.getElementById("username"); 區別在於前者屬於jQuery的方式獲取,或者屬//於使用原始dom的方式獲取 // 方式1 jQuery, //var $username = jQuery("#username"); // 方式2 $ 一般jQuery對象的變量名都會使用$開頭進行命名,一種習慣,不//實用也可以 var $username = $("#username"); alert($username.val()); </script> 獲取jQuery的兩種方式
2.3、dom和Jquery的轉換
jQuery對象可以看作將dom對象(javascript的原始內容)進行的封裝,從而使用jQuery對象就只能夠調用jQuery定義的函數(方法)或屬性了,而dom對象就只能夠調用dom對象的屬性和函數,不能混淆調用。 注意:一定要區別dom對象和jQuery對象的使用,不要混淆,使用jQuery的函數時,注意看返回值是dom對象還是什么,比如get(0)返回的就是dom對象,流個小心眼。

//1 獲得dom對象 (javascript 原始內容) var username = document.getElementById("username"); // * 打印value值,調用屬性 //alert(username.value); //2 將dom對象,轉成jQuery對象 // * 建議:jQuery變量名使用$開頭 var $username = $(username); //alert($username.val());//調用方法來獲取屬性值 //3 jQuery 對象 轉換 dom對象 // 方式1:jQuery獲得對象,內部是一個數組,如果只有一個對象時,可以通過下標0獲取 var obj1 = $username[0]; //alert(obj1.value); // 方式2:jQuery 提供函數 get 獲得指定下標對象 var obj2 = $username.get(0); alert(obj2.value); //注意:jQuery對象 只能使用 jQuery的函數或屬性 // dom對象 只能使用dom的函數和屬性 // 彼此不能相互調用。例如: $username.value 錯誤的
2.4、查詢jQuery文檔來學習jQuery提供了哪些功能?
2.4.1、文檔解釋
我們將學習該文檔中的所有功能,其實也就是大概過一遍,知道哪塊是什么意思就行,具體的用法該文檔中都會有詳細的使用規則介紹,真的非常詳細。我會帶着大家看幾個,然后依次類推,即可。
2.4.2、選擇器
分為九種,其基本功能就是為了選取頁面html中的特定的元素。
[基本選擇器、層級選擇器、基本過濾、內容過濾、可見性過濾、屬性過濾、子元素過濾、表單過濾、表單對象屬性過濾]
2.4.2.1、基本選擇器
5種,超級簡單,我們來對着文檔解析一個個看。
#id:根據給定的ID匹配一個元素。如果選擇器中包含特殊字符,可以用兩個斜杠轉義。參見示例。(詳細把。例子都有,所以說不懂,不會用,沒關系,查文檔)
element:根據給定的元素名(標簽名)匹配所有元素
.class:通過class選擇,必須.開頭 。 <div class="myClass"> 。例如:$(".myClass");文檔圖略
*,匹配所有元素
s1,s2,s3...,將多個選擇器合並,多個之間使用逗號分隔。 例如:$("#id,.myClass");
2.4.2.2、層級選擇器
就是在標簽和標簽之間中選取,比如選取父標簽下的特定的標簽。
A標簽 B標簽 , 表示A標簽中所有后代的B標簽 (爺孫)
A標簽>B標簽,表示A標簽所有子標簽中的B標簽(父子)
A標簽+B標簽,表示A標簽的第一個兄弟標簽(兄弟)
A標簽~B標簽,表示A標簽之后的所有兄弟標簽(兄弟)
2.4.2.3、基本過濾
略,查看文檔就懂了
2.4.2.4、內容過濾
略,查看文檔就懂了
2.4.2.5、可見性過濾
略,查看文檔就懂了
2.4.2.6、屬性過濾
略,查看文檔就懂了
2.4.2.7、子元素過濾
略,查看文檔就懂了
2.4.2.8、表單過濾
略,查看文檔就懂了
2.4.2.9、表單對象屬性過濾
略,查看文檔就懂了
2.4.3、屬性
這個稍微解釋一下,上面選取到了某個特定的元素(標簽)或者幾個元素,
屬性的函數來對其內容進行查看或者修改,
css類的話,可以修改(移除,添加)class樣式,toggleClass是通過判斷一個boolean值來取決使用什么樣式。
HTML代碼/文本/值這個比較有意思
val:表示獲取屬性的值,比如獲取input標簽中的value值,val(xxx)有參數 則給value屬性賦值為xxx。
text:表示獲取某個標簽的文本內容,也就是<p>xxx</p>獲取xxx的內容,text(xxx),給某個標簽的文本賦值。如果添加標簽,直接顯示
html:跟text功能差不多,但是能夠設置css樣式,如果添加標簽,瀏覽器需要解析
具體查看文檔。
2.4.4、CSS
查看文檔,位置和樣式的處理
2.4.4、文檔處理
上面了解的,都是如何選取特定的元素,然后如何修改樣式或者內容。文檔處理做的就是增加刪除修改復制元素等等的操作,比如,在A標簽之后添加一個B標簽,類似這種,具體查看文檔。
2.4.5、篩選
篩選跟選擇器中的過濾是差不多的,區別就在於,篩選提供函數,而過濾的不是。一般過濾都是從jQuery對象中有很多個元素(也就是數組中有多個元素),需要從中獲取到我們想要的jQuery對象,進一步過濾,但是不能使用get()或者array[0],因為此種方式獲取到的是dom對象,而不是jQuery對象,所以需要使用篩選或者選擇器中的過濾,來達到目的。具體查看文檔把。
2.4.6、事件
事件,講解幾個常用和重要的,其他看文檔。
這個應該比較有意思。也比較重要。
1、頁面載入:ready(fn):這個就是講javascript代碼寫在頁面最上面所需要用的函數,作用就是等頁面全部加載完,然后在來加載js代碼。有兩種方式,代碼如下

//方式1 $(document).ready(function(){ // $ == jQuery .... }); * 變種 jQuery(document).ready(function(){ // $ == jQuery .... }); //方式2 $(function(){ ..... });
2、focus和focusin對比
focus:兩種用法,focus():使對象獲得焦點,focus(fn):獲得焦點觸發事件,子元素[不觸發]父元素事件[]
fosusin(fn):獲得焦點觸發事件,子元素[觸發]父元素事件

//1、2都是對父元素進行焦點出發事件,所以就能夠進行對比。 <script type="text/javascript"> $(document).ready(function(){ //1 js focus 子元素[不觸發]父元素事件 /* $("#outerDiv").focus(function(){ alert("focus"); }); */ //2 js focusin 子元素[觸發]父元素事件 /* */ $("#outerDiv").focusin(function(){ alert("focusin"); }); }); </script> //省略html的代碼。html的代碼展示圖就是上面的圖。
3、blur 和 focusout 失去焦點
4、mouseover 和 mouseenter 移進某個區域觸發事件
mouseover , 如果鼠標指針穿過任何子元素,同樣會觸發 mouseover 事件
5、mouseout 和 mouseleave 移出
事件處理:
1、on:對元素進行事件的綁定。
2、off:對元素上的事件進行解綁
3、bind:綁定事件,一直使用,直到解綁
例如:$username.bind("click",function(){}) 等價於 $username.click(function(){});
4、unbind 解綁事件
綁定是可以指定別名 ,格式: 事件.別名
bind("click.xxx",fn)
unbind("click.xxx")
5、觸發:在每一個匹配的元素上觸發某類事件。
trigger() 觸發所有的事件(包括瀏覽器默認的)
triggerHandler() 觸發所有的事件(不包括瀏覽器默認的)
事件委派
1、live jQuery 給所有匹配的元素附加一個事件處理函數,即使這個元素是以后再添加進來的也有效
給A標簽添加事件,之后再追加a標簽都具有相同的事件
2、die 解綁
2.4.7、效果
這個就是對元素進行隱藏啊,動態顯示進行設置
2.4.8、AJAX
留着下一節講解把~
三、總結
通過這一章節,
3.1、知道了什么是jQuery?
3.2、jQuery的使用方法和如何通過文檔進行學習?還是那句話,不會的查文檔,查文檔
明天:講解一下jQuery對Ajax的的使用。和對jQuery進行沉淀(幾個小的demo)。這一章是學會如何使用jQuery,下一節算是小實戰把。哈哈~ 加油。