1、什麼是Jquery?javascript
其實超級簡單,不要把它想的太難了,Jquery就是一個js(javascript)類庫。css
1.一、什麼是js類庫?html
[JavaScript庫封裝了不少預約義的對象和實用函數,來幫助使用者創建有高難度交互客戶端頁面,而且兼容各大瀏覽器],看到這句話應該就知道了,通俗點講,js類庫就是別人將一些功能寫好了封裝成了函數,而咱們直接拿過來調用便可,這就是js類庫。java
1.二、什麼是Jquery?jquery
Jquery是js類庫的一種,其優勢有不少,百度一下基本上就知道了,這裏將收集的一些大白話列舉出來,看看便可。 web
一、開源免費,提供衆多插件數組
二、jQuery是繼prototype以後又一個優秀的Javascript庫。它是輕量級的js庫 ,它兼容CSS3,還兼容各類瀏覽器[來自百度百科]瀏覽器
三、它的文檔說明很全,並且各類應用也說得很詳細,同時還有許多成熟的插件(aptana)可供選擇。jQuery可以使js代碼和html內容分離(說明文檔確實很全很詳細,下面就會帶着一塊兒讀文檔,進行操做。)dom
四、jQuery 口號:The Write Less, Do More ide
五、待本身去查詢和發現吧~
2、使用Jquery
知道了什麼是Jquery,那麼接下來就要知道如何使用它。
2.一、導入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.二、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.三、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.四、查詢jQuery文檔來學習jQuery提供了哪些功能?
2.4.一、文檔解釋
咱們將學習該文檔中的全部功能,其實也就是大概過一遍,知道哪塊是什麼意思就行,具體的用法該文檔中都會有詳細的使用規則介紹,真的很是詳細。我會帶着你們看幾個,而後依次類推,便可。
2.4.二、選擇器
分爲九種,其基本功能就是爲了選取頁面html中的特定的元素。
[基本選擇器、層級選擇器、基本過濾、內容過濾、可見性過濾、屬性過濾、子元素過濾、表單過濾、表單對象屬性過濾]
2.4.2.一、基本選擇器
5種,超級簡單,咱們來對着文檔解析一個個看。
#id:根據給定的ID匹配一個元素。若是選擇器中包含特殊字符,能夠用兩個斜槓轉義。參見示例。(詳細把。例子都有,因此說不懂,不會用,不要緊,查文檔)
element:根據給定的元素名(標籤名)匹配全部元素
.class:經過class選擇,必須.開頭 。 <div class="myClass"> 。例如:$(".myClass");文檔圖略
*,匹配全部元素
s1,s2,s3...,將多個選擇器合併,多個之間使用逗號分隔。 例如:$("#id,.myClass");
2.4.2.二、層級選擇器
就是在標籤和標籤之間中選取,好比選取父標籤下的特定的標籤。
A標籤 B標籤 , 表示A標籤中全部後代的B標籤 (爺孫)
A標籤>B標籤,表示A標籤全部子標籤中的B標籤(父子)
A標籤+B標籤,表示A標籤的第一個兄弟標籤(兄弟)
A標籤~B標籤,表示A標籤以後的全部兄弟標籤(兄弟)
2.4.2.三、基本過濾
略,查看文檔就懂了
2.4.2.四、內容過濾
略,查看文檔就懂了
2.4.2.五、可見性過濾
略,查看文檔就懂了
2.4.2.六、屬性過濾
略,查看文檔就懂了
2.4.2.七、子元素過濾
略,查看文檔就懂了
2.4.2.八、表單過濾
略,查看文檔就懂了
2.4.2.九、表單對象屬性過濾
略,查看文檔就懂了
2.4.三、屬性
這個稍微解釋一下,上面選取到了某個特定的元素(標籤)或者幾個元素,
屬性的函數來對其內容進行查看或者修改,
css類的話,能夠修改(移除,添加)class樣式,toggleClass是經過判斷一個boolean值來取決使用什麼樣式。
HTML代碼/文本/值這個比較有意思
val:表示獲取屬性的值,好比獲取input標籤中的value值,val(xxx)有參數 則給value屬性賦值爲xxx。
text:表示獲取某個標籤的文本內容,也就是<p>xxx</p>獲取xxx的內容,text(xxx),給某個標籤的文本賦值。若是添加標籤,直接顯示
html:跟text功能差很少,可是可以設置css樣式,若是添加標籤,瀏覽器須要解析
具體查看文檔。
2.4.四、CSS
查看文檔,位置和樣式的處理
2.4.四、文檔處理
上面瞭解的,都是如何選取特定的元素,而後如何修改樣式或者內容。文檔處理作的就是增長刪除修改複製元素等等的操做,好比,在A標籤以後添加一個B標籤,相似這種,具體查看文檔。
2.4.五、篩選
篩選跟選擇器中的過濾是差很少的,區別就在於,篩選提供函數,而過濾的不是。通常過濾都是從jQuery對象中有不少個元素(也就是數組中有多個元素),須要從中獲取到咱們想要的jQuery對象,進一步過濾,可是不能使用get()或者array[0],由於此種方式獲取到的是dom對象,而不是jQuery對象,因此須要使用篩選或者選擇器中的過濾,來達到目的。具體查看文檔把。
2.4.六、事件
事件,講解幾個經常使用和重要的,其餘看文檔。
這個應該比較有意思。也比較重要。
一、頁面載入:ready(fn):這個就是講javascript代碼寫在頁面最上面所須要用的函數,做用就是等頁面所有加載完,而後在來加載js代碼。有兩種方式,代碼以下
//方式1 $(document).ready(function(){ // $ == jQuery .... }); * 變種 jQuery(document).ready(function(){ // $ == jQuery .... }); //方式2 $(function(){ ..... });
二、focus和focusin對比
focus:兩種用法,focus():使對象得到焦點,focus(fn):得到焦點觸發事件,子元素[不觸發]父元素事件[]
fosusin(fn):得到焦點觸發事件,子元素[觸發]父元素事件
//一、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的代碼展現圖就是上面的圖。
三、blur 和 focusout 失去焦點
四、mouseover 和 mouseenter 移進某個區域觸發事件
mouseover , 若是鼠標指針穿過任何子元素,一樣會觸發 mouseover 事件
五、mouseout 和 mouseleave 移出
事件處理:
一、on:對元素進行事件的綁定。
二、off:對元素上的事件進行解綁
三、bind:綁定事件,一直使用,直到解綁
例如:$username.bind("click",function(){}) 等價於 $username.click(function(){});
四、unbind 解綁事件
綁定是能夠指定別名 ,格式: 事件.別名
bind("click.xxx",fn)
unbind("click.xxx")
五、觸發:在每個匹配的元素上觸發某類事件。
trigger() 觸發全部的事件(包括瀏覽器默認的)
triggerHandler() 觸發全部的事件(不包括瀏覽器默認的)
事件委派
一、live jQuery 給全部匹配的元素附加一個事件處理函數,即便這個元素是之後再添加進來的也有效
給A標籤添加事件,以後再追加a標籤都具備相同的事件
二、die 解綁
2.4.七、效果
這個就是對元素進行隱藏啊,動態顯示進行設置
2.4.八、AJAX
留着下一節講解把~
3、總結
經過這一章節,
3.一、知道了什麼是jQuery?
3.二、jQuery的使用方法和如何經過文檔進行學習?仍是那句話,不會的查文檔,查文檔
明天:講解一下jQuery對Ajax的的使用。和對jQuery進行沉澱(幾個小的demo)。這一章是學會如何使用jQuery,下一節算是小實戰把。哈哈~ 加油。