posts - 60,comments - 71,trackbacks - 0
          from : http://carrot.javaeye.com/blog/215536

               jQuery是一款同prototype一樣優(yōu)秀js開發(fā)庫類,特別是對css和XPath的支持,使我們寫js變得更加方便!如果你不是個js高手又想寫出優(yōu) 秀的js效果,jQuery可以幫你達到目的!
             下載地址:Starterkit (http://jquery.bassistance.de/jquery-starterkit.zip
                                         jQuery Downloads (
          http://jquery.com/src/

             下載完成后先加載到文檔中,然后我們來看個簡單的例子!

          <script language="javascript" type="text/javascript">   
              $(document).ready(
          function(){
                  $(
          "a").click(function() {
                  alert(
          "Hello world!");
             });
          });
          <script>

               上邊的效果是點擊文檔中所有a標(biāo)簽時將彈出對話框,$("a") 是一個jQuery選擇器,$本身表示一個jQuery類,所有$()是構(gòu)造一個jQuery對象,click()是這個對象的方法,同理$(document)也是一個jQuery對象,ready(fn)是$(document)的方法,表示當(dāng)document全部下載完畢時執(zhí)行函數(shù)。
               在進行下面內(nèi)容之前我還要說明一點$("p")和$("#p")的區(qū)別,$("p")表示取所有p標(biāo)簽(<p></p>)的元素,$("#p")表示取id為"p"(<span  id="p"></span>)的元素.

          我將從以下幾個內(nèi)容來講解jQuery的使用:
          1:核心部分
          2:DOM操作
          3:css操作
          4:javascript處理
          5:動態(tài)效果
          6:event事件
          7:ajax支持
          8:插件程序

                                                       一:核心部分
          $(expr)
          說明:該函數(shù)可以通過css選擇器,Xpath或html代碼來匹配目標(biāo)元素,所有的jQuery操作都以此為基礎(chǔ)
          參數(shù):expr:字符串,一個查詢表達式或一段html字符串
          例子:
          未執(zhí)行jQuery前:

          <p>one</p>
          <div>
               
          <p>two</p>
          </div>
              <
          p>three</p> 
              <href="#" id="test" onClick="jq()" >jQuery</a>


          jQuery代碼及功能:

          function jq(){  
              alert($(
          "div > p").html());  
          }

          運行:當(dāng)點擊id為test的元素時,彈出對話框文字為two,即div標(biāo)簽下p元素的內(nèi)容

          function jq(){
              $(
          "<div><p>Hello</p></div>").appendTo("body");
          }

          運行:當(dāng)點擊id為test的元素時,向body中添加“<div><p>Hello</p></div>”

          $(elem)
          說明:限制jQuery作用于一個特定的dom元素,這個函數(shù)也接受xml文檔和windows對象
          參數(shù): elem:通過jQuery對象壓縮的DOM元素
          例子:
          未執(zhí)行jQuery前:

          <p>one</p>
            
          <div>
               
          <p>two</p>
            
          </div><p>three</p>
          <href="#" id="test" onClick="jq()">jQuery</a>

          jQuery代碼及功能:

          function jq(){
              alert($(document).find(
          "div > p").html());
          }

          運行:當(dāng)點擊id為test的元素時,彈出對話框文字為two,即div標(biāo)簽下p元素的內(nèi)容

          function jq(){
             $(document.body).background(
          "black");
          }

          運行:當(dāng)點擊id為test的元素時,背景色變成黑色

          $(elems)
          說明:限制jQuery作用于一組特定的DOM元素
          參數(shù): elem:一組通過jQuery對象壓縮的DOM元素
          例子:
          未執(zhí)行jQuery前:

          <form id="form1">
               
          <input type="text" name="textfield">
               
          <input type="submit" name="Submit" value="提交">
          </form>
          <href="#" id="test" onClick="jq()">jQuery</a>

          jQuery代碼及功能:

          function jq(){ 
             $(form1.elements ).hide(); 
          }

          運行:當(dāng)點擊id為test的元素時,隱藏form1表單中的所有元素。

          $(fn)
          說明:$(document).ready()的一個速記方式,當(dāng)文檔全部載入時執(zhí)行函數(shù)。可以有多個$(fn)當(dāng)文檔載入時,同時執(zhí)行所有函數(shù)!
          參數(shù):fn (Function):當(dāng)文檔載入時執(zhí)行的函數(shù)!
          例子:

          $( function(){
              $(document.body).background(
          "black");
          })

          運行:當(dāng)文檔載入時背景變成黑色,相當(dāng)于onLoad。

          $(obj)
          說明:復(fù)制一個jQuery對象,
          參數(shù):obj (jQuery): 要復(fù)制的jQuery對象
          例子:
          未執(zhí)行jQuery前:

          <p>one</p>
          <div>
             
          <p>two</p>
          </div>
          <p>three</p>
          <href="#" id="test" onClick="jq()">jQuery</a>
          jQuery代碼及功能:
          function jq(){
              
          var f = $("div"); 
              alert($(f).find(
          "p").html()) 
          }
          運行:當(dāng)點擊id為test的元素時,彈出對話框文字為two,即div標(biāo)簽下p元素的內(nèi)容。

          each(fn)
          說明:將函數(shù)作用于所有匹配的對象上
          參數(shù):fn (Function): 需要執(zhí)行的函數(shù)
          例子:
          未執(zhí)行jQuery前:
          <img src="1.jpg"/>
          <img src="1.jpg"/>
          <href="#" id="test" onClick="jq()">jQuery</a>
          jQuery代碼及功能:
          function jq(){
             $(
          "img").each(function(){ 
                  
          this.src = "2.jpg"; });
          }
          運行:當(dāng)點擊id為test的元素時,img標(biāo)簽的src都變成了2.jpg。

          eq(pos)
          說明:減少匹配對象到一個單獨得dom元素
          參數(shù):pos (Number): 期望限制的索引,從0 開始
          例子:
          未執(zhí)行jQuery前:
          <p>This is just a test.</p>
          <p>So is this</p>
          <href="#" id="test" onClick="jq()">jQuery</a>
          jQuery代碼及功能:
          function jq(){
              alert($(
          "p").eq(1).html())
          }
          運行:當(dāng)點擊id為test的元素時,alert對話框顯示:So is this,即第二個<p>標(biāo)簽的內(nèi)容

          get() get(num)
          說明:獲取匹配元素,get(num)返回匹配元素中的某一個元素
          參數(shù):get (Number): 期望限制的索引,從0 開始
          例子:
          未執(zhí)行jQuery前:
          <p>This is just a test.</p>
          <p>So is this</p>
          <href="#" id="test" onClick="jq()">jQuery</a>
          jQuery代碼及功能:
          function jq(){
              alert($(
          "p").get(1).innerHTML);
          }
          運行:當(dāng)點擊id為test的元素時,alert對話框顯示:So is this,即第二個<p>標(biāo)簽的內(nèi)容
          注意get和eq的區(qū)別,eq返回的是jQuery對象,get返回的是所匹配的dom對象,所有取$("p").eq(1)對象的內(nèi)容用jQuery方法html(),而取$("p").get(1)的內(nèi)容用innerHTML

          index(obj)
          說明:返回對象索引
          參數(shù):obj (Object): 要查找的對象
          例子:
          未執(zhí)行jQuery前:
          <div id="test1"></div>
          <div id="test2"></div>
          <href="#" id="test" onClick="jq()">jQuery</a>
          jQuery代碼及功能:
          function jq(){
              alert($(
          "div").index(document.getElementById('test1')));
              alert($(
          "div").index(document.getElementById('test2')));
          }
          運行:當(dāng)點擊id為test的元素時,兩次彈出alert對話框分別顯示0,1

          size()   Length
          說明:當(dāng)前匹配對象的數(shù)量,兩者等價
          例子:
          未執(zhí)行jQuery前:
          <img src="test1.jpg"/>
          <img src="test2.jpg"/>
          <href="#" id="test" onClick="jq()">jQuery</a>
          jQuery代碼及功能:
          function jq(){
              alert($(
          "img").length);
          }
          運行:當(dāng)點擊id為test的元素時,彈出alert對話框顯示2,表示找到兩個匹配對象
           


                                                             二:DOM操作
          屬性
          我們以<img id="a" scr="5.jpg"/>為例,在原始的javascript里面可以用var o=document.getElementById('a')取的id為a的節(jié)點對象,在用o.src來取得或修改該節(jié)點的scr屬性,在jQuery里$("#a")將得到j(luò)Query對象[ <img id="a" scr="5.jpg"/> ],然后可以用jQuery提供的很多方法來進行操作,如$("#a").scr()將得到5.jpg,$("#a").scr("1.jpg")將該對象src屬性改為1,jpg。下面我們來講jQuery提供的眾多jQuery方法,方便大家快速對DOM對象進行操作
          herf()   herf(val)
          說明:對jQuery對象屬性herf的操作。
          例子:
          未執(zhí)行jQuery前
          <href="1.htm" id="test" onClick="jq()">jQuery</a>
          jQuery代碼及功能:
          function jq(){
             alert($(
          "#test").href());
             $(
          "#test").href("2.html");
          }
          運行:先彈出對話框顯示id為test的連接url,在將其url改為2.html,當(dāng)彈出對話框后會看到轉(zhuǎn)向到2.html
          同理,jQuery還提供類似的其他方法,大家可以分別試驗一下:
          herf()  herf(val)   html()  html(val)   id()  id (val)  name()  name (val)   rel()  rel (val)
          src()    src (val)   title()  title (val)   val()  val(val)

          操作
          after(html)  在匹配元素后插入一段html
          <href="#" id="test" onClick="jq()">jQuery</a>
          jQuery代碼及功能:
          function jq(){  
                 $(
          "#test").after("<b>Hello</b>");  
          }
          執(zhí)行后相當(dāng)于:
          <href="#" id="test" onClick="jq()">jQuery</a><b>Hello</b>

          after(elem)  after(elems)  將指定對象elem或?qū)ο蠼Melems插入到在匹配元素后
          <id="test">after</p><href="#" onClick="jq()">jQuery</a>
          jQuery代碼及功能
          function jq(){  
               $(
          "a").after($("#test"));  
          }
          執(zhí)行后相當(dāng)于
          <href="#" onClick="jq()">jQuery</a><id="test">after</p>

          append(html)在匹配元素內(nèi)部,且末尾插入指定html
          <href="#" id="test" onClick="jq()">jQuery</a>
          jQuery代碼及功能:
          function jq(){ 
               $("#test").append("
          <b>Hello</b>
          ");  
          }
          執(zhí)行后相當(dāng)于
          <href="#" onClick="jq()">jQuery<b>Hello</b></a>
          同理還有append(elem)  append(elems) before(html) before(elem) before(elems)請執(zhí)行參照append和after的方來測試、理解!

          appendTo(expr)  與append(elem)相反
          <id="test">after</p><href="#" onClick="jq()">jQuery</a>
          jQuery代碼及功能
          function jq(){  
                $(
          "a"). appendTo ($("#test"));  
          }
          執(zhí)行后相當(dāng)于
          <id="test">after<href="#" onClick="jq()">jQuery</a> </p>

          clone() 復(fù)制一個jQuery對象
          <id="test">after</p><href="#" onClick="jq()">jQuery</a>
          jQuery代碼及功能:
          function jq(){  
               $(
          "#test").clone().appendTo($("a"));  
          }
          復(fù)制$("#test")然后插入到<a>后,執(zhí)行后相當(dāng)于
          <id="test">after</p><href="#" onClick="jq()">jQuery</a><id="test">after</p>

          empty() 刪除匹配對象的所有子節(jié)點
          <div id="test">
            
          <span>span</span>
            
          <p>after</p>
          </div>
          <href="#" onClick="jq()">jQuery</a>
          jQuery代碼及功能:
          function jq(){  
              $(
          "#test").empty();  
          }
          執(zhí)行后相當(dāng)于
          <div id="test"></div><href="#" onClick="jq()">jQuery</a>

          insertAfter(expr)   insertBefore(expr)
               按照官方的解釋和我的幾個簡單測試insertAfter(expr)相當(dāng)于before(elem),insertBefore(expr)相當(dāng)于after (elem)

          prepend (html)  prepend (elem)  prepend (elems)   在匹配元素的內(nèi)部且開始出插入
          通過下面例子區(qū)分append(elem)  appendTo(expr)  prepend (elem)
          <id="a">p</p>
          <div>div</div>
          執(zhí)行$("#a").append($("div")) 后相當(dāng)于
          <id="a">
            P
            
          <div>div</div>
          </p>
          執(zhí)行$("#a").appendTo($("div")) 后 相當(dāng)于
          <div>
             div
             
          <id="a">p</p>
          </div>
          執(zhí)行$("#a").prepend ($("div")) 后 相當(dāng)于
          <id="a">
             
          <div>div</div>
             P
          </p>

          remove()  刪除匹配對象
          注意區(qū)分empty(),empty()移出匹配對象的子節(jié)點,remove(),移出匹配對象

          wrap(htm) 將匹配對象包含在給出的html代碼內(nèi)
          <p>Test Paragraph.</p> <href="#" onClick="jq()">jQuery</a>
          jQuery代碼及功能:
          function jq(){  
                $(
          "p").wrap("<div class='wrap'></div>"); 
          }
          執(zhí)行后相當(dāng)于
          <div class='wrap'><p>Test Paragraph.</p></div>

          wrap(elem) 將匹配對象包含在給出的對象內(nèi)
          <p>Test Paragraph.</p><div id="content"></div>
          <href="#" onClick="jq()">jQuery</a>

              輕量級啊,比 prototype,ext 輕量多了.
          posted on 2008-10-07 17:59 henry1451 閱讀(177) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 乐亭县| 津市市| 岱山县| 西峡县| 五常市| 淄博市| 通榆县| 东港市| 罗山县| 舒兰市| 塘沽区| 会泽县| 建湖县| 中阳县| 定结县| 密山市| 砚山县| 乌兰浩特市| 津市市| 达拉特旗| 庆安县| 林芝县| 黑山县| 吉安市| 长白| 垣曲县| 惠安县| 渑池县| 云阳县| 彭阳县| 栾城县| 康保县| 霍城县| 嘉善县| 农安县| 武山县| 金堂县| 宁阳县| 兴安盟| 华亭县| 瑞昌市|