我是如何去了解jquery的(一),從查詢開始

這不是一個系列教程,但也是個系列歷程,這是寫個初學者的一個個人經歷,希望給他們指明一個學習方向,網上關於jquery的基礎教程太多,也太雜,所以我從我個人視角來講述jquery的基本應用,當然有不對的地方,歡迎大家指正,也歡迎大家加入我的Q羣,一起學習,Q羣:70210212,77813547.以下內容完全是假設你是個完全不懂js的人,所以內容會較羅嘍。

本文的案例請點擊這裏。

首先,你要知道怎麼去引用jquery,如下:

  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"></script>

這裏引用了google上面的jquery文件,它有進行gzip壓縮和CDN加速,所以不是很必要的話還是引用它吧,當然你也可以引用本地文件,這樣可以斷網使用,然後jquery的代碼要寫在哪裏呢?

  <script>
 $(document).ready(function(){
    //這裏寫代碼
  });
  </script>

這句話的意思是:在頁面的dom元素完全加載完後就執行裏面的function();和windo.onload=function(){}這個很類似,暫時這麼瞭解,不要去深究,這隻會浪費你的時間,你可以理解爲是爲了避免你寫js代碼的時候那個div還沒加載,你就調用了,這樣會報錯,所以必須這樣寫,其它的就不要去管了,凡是用到jquery的地方都要寫這麼一個東西,它也可以簡寫爲:

$(function(){
//這裏寫你的代碼
});

 接着,就是怎麼在裏面寫代碼了,首先,我向大家推薦一款瀏覽器,firefox,然後是它上面的一款插件,firebug ,安裝後,就可以按F12調出來了,它的界面是這樣的。

 

這次我們要用到的是控制檯,就是第一個選項卡了。 我們常常會想在程序裏調試代碼,運行到哪一步後,想打印出個值來,有的人會用alert("xxx");但這樣彈出消息框會打斷一下程序,所以“專業的”的人都用console.log("xxxx"),這樣寫就會在控制檯裏顯示出來了,而且它還可以以樹的形式顯示一個對象。

接下來我們說到查詢html元素,從百度或谷歌上下載一份中文版的jquery API,暫時我們就下載版本爲1.4的吧,我也提供一個臨時下載地址:請點擊這裏下載

 

 然後我們打開左側的選擇器=>基礎,這裏面有最常用的幾個選擇符,它的規則是按CSS3的標準來的,#id,div,.class,* 這些都合CSS裏的寫法是一致的,所以理解起來並不困難,如果你連這個CSS也一點不懂的話,我建議你還是轉行吧,好了,要怎麼去調用呢:

 

$(function(){
console.log($("p"))
})

 

 這樣在控制檯裏就會打印出所有P標籤了。如果要查找ID是mydiv的標籤的話,應該這麼寫$("#mydiv"),查找類是myclass的應該這麼寫:$(".myclass"),查找P段落並且class爲myp的應該這樣寫:$("p.myp"),如果要查找段落P裏面的所有span的class爲myspan的應該這樣寫:$("p span.myspan");它們近回的都是一個jquery對象的集合,和數組類似,既然是數組,我們就會時不時的去遍歷一下,jquery有提供each方法,來實現foreach循環集合,比如我想要讓頁面上的段落或tr間隔變色,那我就可以這樣寫:

 css:

<style>
.odd
{background-color:gray;}
.even
{background-color:#EDEDED;}
</style>

html:

 <body>
  <div id="mydiv">
  <class="p1">a</p>
  <class="p2">b</p>
  <class="p3">c</p>
  <class="p4">d</p>
  </div>
 </body>

js:

$("#mydiv > p").each(function(i){
        if((i+1)%2==0){
            $(this).addClass("even");
        }else
        {   $(this).addClass("odd");        
        }
    });

each裏面的function參數是該集合的索引號,從0開始的,所以要求偶數行,就應該是(i+1)%2==0,這裏有用到一個新方法,就是addClass,它的作用就是給dom元素添加樣式類,對應的也有個removeClass移除樣式類。

接下來,我給你們一個更簡便的寫法:

$("p:even").addClass("even")
$("p:odd").addClass("odd")

 這裏省略掉了each,剛纔說了,$("選擇符")返回的是一個jquery集合,但它不是一個數組,是數組的一個子集,你給它使用jquery提供的方法時,它內部就會去自動調用each進行遍歷,所以一般情況下,如果集合裏沒有需要特殊的處理,我們就可以直接使用jquery對象的方法了。到於:even這種寫法,也是css3裏面的,類似的還有:checked:slected:lt,這些可以參考jquery API 手冊,用多了,自然就會記得了。

好了,今天就先講到這裏,內容很少,也很基礎,這是你敲開jquery大門的第一步, 所以有必要學習下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章