jquery中關於append()的用法筆記---append()節點移動與復制之說


jquery中關於append()的用法筆記---append()節點移動與復制之說

  今天看一本關於jquery的基礎教程,看到其中一段代碼關於append()的一行,總是百思不得其解。於是查了查官方的文檔,貌似對這個解釋的不是特別清楚。於是,親自寫了一段小白代碼做了下測試,這才明白怎么回事。簡言之就是,如果是將一個節點(本身存在於文檔中)同時append()到很多節點下,那么就是同時復制到每個節點下一份;如果是將一個節點(本身存在於文檔中)append()到一個節點下,那就是移動,並不會復制多份;而另一種情況是,如果新創建的一個節點字符串,不管是同時append()一個節點下還是很多個節點下,那么都是將這個復制到每一個節點下的。好了,廢話不多說了,下面上代碼。

  1、原來的HTML,在這里test.js里面沒有東西暫時未空的

 1 <!DOCTYPE html>
 2 
 3 <html lang="en">
 4   <head>
 5     <meta charset="utf-8">
 6     <title>Test</title>
 7 
 8     <script src="jquery.js"></script>
 9     <script src="test.js"></script>
10   </head>
11   <body>
12     <span>Hello,LaoXu!</span>
13     <p></p>
14     <p></p>
15     <p></p>
16      
17   </body>
18 </html>

  運行效果圖

      

  2、編寫test.js,選中一個節點,同時append()到很多節點下

     

1 $(function(){
2     $('p').append($('span'));
3 });

  運行效果如下(原來的span標簽被移動並同時復制到p標簽下):

    

  3、修改test.js,選中一個節點,一次append()到一個節點下

  

1 $(function(){
2     $('p:eq(0)').append($('span'));
3     $('p:eq(1)').append($('span'));
4     $('p:eq(2)').append($('span'));
5 });

  效果如下:

  

  在debug下看,知道span被移動到了最后一個p下。

  4、新建一個字符串,將其同時append()到很多節點下:

  

1 $(function(){
2     var abc = "<span>Hello,LaoXu!<span>";
3     $('p').append(abc);
4 });

  效果圖:

  可見,同時復制到了每個節點下。

  5、新建一個字符串,將其每次append()到一個節點下:

  

1 $(function(){
2     var abc = "<span>Hello,LaoXu!<span>";
3     $('p:eq(1)').append(abc);
4     $('p:eq(2)').append(abc);
5     $('p:eq(0)').append(abc);
6 });

  效果如下:

  

  結果跟上圖情況一樣。

  廢話了半天,總之一句話,append()是將一個本身存在的節點append()到很多節點下,那就是將原來的節點同時復制到每個節點下,同時原來的節點消失;如果是將一個節點每次append()到一個節點下,那就是移動。如果是新建的字符串節點,那都是復制。

  廢話了半天,一點愚見,歡迎交流。


免責聲明!

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



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