Jquery(一) 初識Jquery,簡單使用Jquery。


一、什么是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>
導入js庫

            

 

        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的兩種方式
獲取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 錯誤的
dom和jQuery對象的轉換

  

        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(){
   .....
});
View Code

 

               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的代碼展示圖就是上面的圖。
View Code

 

              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,下一節算是小實戰把。哈哈~ 加油。  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM