posts - 167,  comments - 30,  trackbacks - 0

          二:DOM操作
          屬性
          我們以<img id="a" scr="5.jpg"/>為例,在原始的javascript里面可以用var o=document.getElementById('a')取的ida的節點對象,在用o.src來取得或修改該節點的scr屬性,在jQuery$("#a")將得到jQuery對象[ <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的操作。
          例子:
          未執行jQuery

          <href="1.htm" id="test" onClick="jq()">jQuery</a>

          jQuery代碼及功能:

          function jq(){
             alert($("#test").href());
             $("#test").href("2.html");
          }

          運行:先彈出對話框顯示idtest的連接url,在將其url改為2.html,當彈出對話框后會看到轉向到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>");  
          }

          執行后相當于:

          <href="#" id="test" onClick="jq()">jQuery</a><b>Hello</b>


          after(elem)  after(elems)  將指定對象elem或對象組elems插入到在匹配元素后

          <id="test">after</p><href="#" onClick="jq()">jQuery</a>

          jQuery代碼及功能

          function jq(){  
               $("a").after($("#test"));  
          }

          執行后相當于

          <href="#" onClick="jq()">jQuery</a><id="test">after</p>


          append(html)在匹配元素內部,且末尾插入指定html

          <href="#" id="test" onClick="jq()">jQuery</a>

          jQuery代碼及功能:

          function jq(){ 
               $("#test").append("
          <b>Hello</b>");  
          }

          執行后相當于

          <href="#" onClick="jq()">jQuery<b>Hello</b></a>

          同理還有append(elem)  append(elems) before(html) before(elem) before(elems)請執行參照appendafter的方來測試、理解!

          appendTo(expr)  append(elem)相反

          <id="test">after</p><href="#" onClick="jq()">jQuery</a>

          jQuery代碼及功能

          function jq(){  
                $("a"). appendTo ($("#test"));  
          }

          執行后相當于

          <id="test">after<href="#" onClick="jq()">jQuery</a> </p>


          clone() 復制一個jQuery對象

          <id="test">after</p><href="#" onClick="jq()">jQuery</a>

          jQuery代碼及功能:

          function jq(){  
               $("#test").clone().appendTo($("a"));  
          }

          復制$("#test")然后插入到<a>,執行后相當于

          <id="test">after</p><href="#" onClick="jq()">jQuery</a><id="test">after</p>


          empty() 刪除匹配對象的所有子節點

          <div id="test">
            
          <span>span</span>
            
          <p>after</p>
          </div>
          <href="#" onClick="jq()">jQuery</a>

          jQuery代碼及功能:

          function jq(){  
              $("#test").empty();  
          }

          執行后相當于

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


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

          prepend (html)  prepend (elem)  prepend (elems)   在匹配元素的內部且開始出插入
          通過下面例子區分append(elem)  appendTo(expr)  prepend (elem)

          <id="a">p</p>
          <div>div</div>

          執行$("#a").append($("div")) 后相當于

          <id="a">
            P
            
          <div>div</div>
          </p>

          執行$("#a").appendTo($("div")) 相當于

          <div>
             div
             
          <id="a">p</p>
          </div>

          執行$("#a").prepend ($("div")) 相當于

          <id="a">
             
          <div>div</div>
             P
          </p>


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

          wrap(htm)
          將匹配對象包含在給出的html代碼內

          <p>Test Paragraph.</p> <href="#" onClick="jq()">jQuery</a>

          jQuery代碼及功能:

          function jq(){  
                $("p").wrap("<div class='wrap'></div>"); 
          }

          執行后相當于

          <div class='wrap'><p>Test Paragraph.</p></div>


          wrap(elem) 將匹配對象包含在給出的對象內

          <p>Test Paragraph.</p><div id="content"></div>
          <href="#" onClick="jq()">jQuery</a>

          jQuery代碼及功能:

          function jq(){  
                $("p").wrap( document.getElementById('content') );
          }

          執行后相當于

          <div id="content"><p>Test Paragraph.</p></div>


          遍歷、組合
          add(expr)  在原對象的基礎上在附加符合指定表達式的jquery對象

          <p>Hello</p><p><span>Hello Again</span></p>
          <
          href="#" onClick="jq()">jQuery</a>

          jQuery代碼及功能:

          function jq(){
               
          var f=$("p").add("span");    
               
          for(var i=0;i < $(f).size();i++){
               alert($(f).eq(i).html());}
          }

          執行$("p")得到匹配<p>的對象,有兩個,add("span")是在("p")的基礎上加上匹配<span >的對象,所有一共有3個,從上面的函數運行結果可以看到$("p").add("span")3個對象的集合,分別是[<p>Hello</p>],[<p><span>Hello Again</span></p>][<span>Hello Again</span>]

          add(el)  在匹配對象的基礎上在附加指定的dom元素。
                  $("p").add(document.getElementById("a"));

          add(els)  在匹配對象的基礎上在附加指定的一組對象,els是一個數組。

          <p>Hello</p><p><span>Hello Again</span></p>

          jQuery代碼及功能:

          function jq(){
               
          var f=$("p").add([document.getElementById("a"), document.getElementById("b")])
               
          for(var i=0;i < $(f).size();i++){
                       alert($(f).eq(i).html());}
          }

          注意els是一個數組,這里的[ ]不能漏掉。

          ancestors ()  一依次以匹配結點的父節點的內容為對象,根節點除外(有點不好理解,看看下面例子就明白了)

          <div>
              
          <p>one</p>
              
          <span>
              
          <u>two</u>
              
          </span>
          </div>

          jQuery代碼及功能:

          function jq(){
               
          var f= $("u").ancestors();
               
          for(var i=0;i < $(f).size();i++){
                alert($(f).eq(i).html());}
          }

          第一個對象是以<u>的父節點的內容為對象,[ <u>two</u> ]
          第一個對象是以<u>的父節點的父節點(div)的內容為對象,[<p>one</p><span><u>two</u></span> ]
          一般一個文檔還有<body><html>,依次類推下去。

          ancestors (expr)  ancestors()的基礎上之取符合表達式的對象
          如上各例子講var f改為var f= $("u").ancestors(“div”),則只返回一個對象:
          [ <p>one</p><span><u>two</u></span>  ]

          children()  返回匹配對象的子介點

          <p>one</p>
          <div id="ch">   
               
          <span>two</span>
          </div>

          jQuery代碼及功能:

          function jq(){
              alert($("#ch").children().html());
          }

          $("#ch").children()得到對象[ <span>two</span> ].所以.html()的結果是”two”

          children(expr)  返回匹配對象的子介點中符合表達式的節點

          <div id="ch">   
                
          <span>two</span>
                
          <span id="sp">three</span>
          </div>

          jQuery代碼及功能

          function jq(){
              alert($("#ch").children(“#sp”).html());
          }

          $("#ch").children()得到對象[<span>two</span><span id="sp">three</span> ].
          $("#ch").children(“#sp”)
          過濾得到[<span id="sp">three</span> ]

          parent ()  parent (expr)取匹配對象父節點的。參照children幫助理解

          contains(str)  返回匹配對象中包含字符串str的對象

          <p>This is just a test.</p><p>So is this</p>

          jQuery代碼及功能:

          function jq(){
              alert($("p").contains("test").html());
          }

          $("p")得到兩個對象,而包含字符串”test”只有一個。所有$("p").contains("test")返回 [ <p>This is just a test.</p> ]

          end() 結束操作,返回到匹配元素清單上操作前的狀態.

          filter(expr)   filter(exprs)   過濾現實匹配符合表達式的對象 exprs為數組,注意添加“[ ]”

          <p>Hello</p><p>Hello Again</p><class="selected">And Again</p>

          jQuery代碼及功能:

          function jq(){
              alert($("p").filter(".selected").html())
          }

          $("p")得到三個對象,$("p").contains("test")只返回classselected的對象。

          find(expr)  在匹配的對象中繼續查找符合表達式的對象

          <p>Hello</p><id="a">Hello Again</p><class="selected">And Again</p>

          Query代碼及功能:

          function jq(){
              alert($("p").find("#a").html())
          }

          $("p")對象中查找ida的對象。

          is(expr)  判斷對象是否符合表達式,返回boolen

          <p>Hello</p><id="a">Hello Again</p><class="selected">And Again</p>

          Query代碼及功能:

          function jq(){
              alert($("#a").is("p"));
          }

          $("#a ")是否符合jquery表達式。
          大家可以用$("#a").is("div");  ("#a").is("#a")多來測試一下

          next()  next(expr)  返回匹配對象剩余的兄弟節點

          <p>Hello</p><id="a">Hello Again</p><class="selected">And Again</p>

          jQuery代碼及功能

          function jq(){
                  alert($("p").next().html());
                  alert($("p").next(".selected").html());
          }

          $("p").next()返回 [ <p id="a">Hello Again</p> , <p class="selected">And Again</p> ]兩個對象
          $("p").next(".selected)
          只返回 [<p class="selected">And Again</p> ]一個對象

          prev ()  prev (expr)  參照next理解

          not(el)  not(expr)  jQuery對象中移出匹配的對象,eldom元素,exprjQuery表達式。

          <p>one</p><id="a">two</p>
          <href="#" onclick="js()">jQuery</a>

          jQuery代碼及功能:

          function js(){
               alert($("p").not(document.getElementById("a")).html());
               alert($("p").not(“#a”).html());
          }

          $("p")由兩個對象,排除后的對象為[<p>one</p> ]

          siblings ()  siblings (expr)  jquery匹配對象中其它兄弟級別的對象

          <p>one</p>
          <div>
            
          <id="a">two</p>
          </div>
          <href="#" onclick="js()">jQuery</a>

          jQuery代碼及功能:

          function js(){
                 alert($("div").siblings().eq(1).html());
          }

          $("div").siblings()的結果實返回兩個對象[<p>one</p><a href="#" onclick="js()">jQuery</a> ]
          alert($("div").siblings(“a”)
          返回一個對象[<a href="#" onclick="js()">jQuery</a> ]

          其他
          addClass(class)   為匹配對象添加一個class樣式
          removeClass (class)   將第一個匹配對象的某個class樣式移出

          attr (name)   獲取第一個匹配對象的屬性

          <img src="test.jpg"/><href="#" onclick="js()">jQuery</a> 

          jQuery代碼及功能:

          function js(){
               alert($("img").attr("src"));
          }

          返回test.jpg

          attr (prop)   為第一個匹配對象的設置屬性,prophash對象,用于為某對象批量添加眾多屬性

          <img/><href="#" onclick="js()">jQuery</a>

          jQuery代碼及功能:

          function js(){
               $("img").attr({ src: "test.jpg", alt: "Test Image" }); 
          }

          運行結果相當于<img src="test.jpg" alt="Test Image"/>

          attr (key,value)   為第一個匹配對象的設置屬性,key為屬性名,value為屬性值

          <img/><a href="#" onclick="js()">jQuery</a>

          jQuery代碼及功能

          function js(){
               $("img").attr(“src”,”test.jpg”); 
          }

          運行結果相當于<img src="test.jpg"/>

          removeAttr (name)   將第一個匹配對象的某個屬性移出

          <img alt="test"/><href="#" onclick="js()">jQuery</a>

          jQuery代碼及功能:

          function js(){
               $("img"). removeAttr("alt"); 
          }

          運行結果相當于<img />

          toggleClass (class)   將當前對象添加一個樣式,不是當前對象則移出此樣式,返回的是處理后的對象

          <p>Hello</p><class="selected">Hello Again</p><href="#" onclick="js()">jQuery</a>

          $("p")的結果是返回對象 [<p>Hello</p>,<p class="selected">Hello Again</p> ]
          $("p").toggleClass("selected")
          的結果是實返回對象 [ <p class="selected">Hello</p>, <p>Hello Again</p> ] 

          posted on 2010-09-02 14:13 David1228 閱讀(447) 評論(0)  編輯  收藏 所屬分類: JQuery

          <2010年9月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章檔案

          新聞分類

          新聞檔案

          相冊

          收藏夾

          Java

          Linux知識相關

          Spring相關

          云計算/Linux/虛擬化技術/

          友情博客

          多線程并發編程

          開源技術

          持久層技術相關

          搜索

          •  

          積分與排名

          • 積分 - 359615
          • 排名 - 154

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 安溪县| 江山市| 汽车| 邛崃市| 阳江市| 昌乐县| 江山市| 中方县| 辰溪县| 巴塘县| 临沂市| 屏边| 托里县| 醴陵市| 博白县| 阜平县| 六安市| 广东省| 衡南县| 资兴市| 加查县| 定西市| 田林县| 通化市| 长阳| 武宣县| 卢湾区| 尼木县| 桐庐县| 苗栗县| 新化县| 黄陵县| 双辽市| 辰溪县| 察隅县| 晋州市| 依安县| 阿拉善左旗| 朔州市| 霍林郭勒市| 蓬溪县|