文章出處

jQuery之設置元素內容(移動和復制元素,使用append(),appendTo()方法)

----------

如果想把內容添加到現有內容末尾,可以利用append()命令。
append()命令語法:
append(content)
把傳入的HTML片段或元素追加到所有已匹配元素的內容之后
參數
content (字符串|元素|對象)將被追加到包裝集各元素的一個字符串、元素或包裝集。
這個函數接受包含HTML片段的字符串、現有或新建DOM元素的引用,或jquery元素包裝集。
考慮如下簡單情況:

 
  1. $('p').append('<b>some text<b>');  

 

此語句將從傳入字符串而創建的HTML片段,追加到頁面上所有<p>元素的現有內容的末尾。這個命令的更加繁雜的用法是標識DOM現有元素作為追加項。考慮如下代碼:

 
  1. $('p.appendToMe').append($("a.appendMe));  

 

這個語句把帶有類appendMe的所有鏈接,追加到帶有類appendToMe的<p>元素。對原始元素的布置取決于作為追加目標的元素的數量。如果是單一的目標,則元素從原始位置刪除---執行把原始元素移動到新父元素的操作。如果有多個目標,則原始元素留在原處,而原始元素的副本被追加到各個目標元素---復制操作。
如果不想追加整個包裝集,也可以引用一個特定DOM元素,如下所示:

 
  1. var toAppend = $('a.appendMe')[0];  
  2. $('p.appendToMe').append(toAppend);  

 

標識為toAppend的元素是被移動還是被復制,取決于標識為$('p.appendToMe')的元素的數量:如果匹配一個元素則進行移動操作,如果匹配多個元素則進行復制操作。

===

如果我們想從一個地方移動或復制元素到另一個地方,更簡單的解決辦法是利用appendTo()命令,該命令允許獲取元素并移動到DOM里另外的地方。
appendTo()語法:
appendTo(target)
把包裝集里所有元素移動到指定目標的內容的末尾
參數
target  (字符串|元素)一個包含jquery選擇器的字符串,或一個DOM元素。包裝集各元素將追加到target所指定的那個位置。如果多個元素與一個選擇器字符串匹配,則包裝集各元素將被復制并追加到與選擇器匹配的每個元素。

如果目的地只標識一個目標元素,則元素被移動;如果目的地標識多個目標元素,則源元素留在原始位置,且被復制到每個目標元素。
如例:

 
  1. <fieldset id="source">  
  2.   <legend>Source elements</legend>  
  3.   <img id="flower" src="flower.png" mce_src="flower.png"/>  
  4.   <img id="car" src="car.png" mce_src="car.png"/>  
  5. </fieldset>  
  6. <fieldset id="targets">  
  7.   <legend>Target elements</legend>  
  8.   <p><img src="dragonfly.png" mce_src="dragonfly.png"/></p>  
  9.   <p><img src="dragonfly.png" mce_src="dragonfly.png"/></p>  
  10.   <p><img src="dragonfly.png" mce_src="dragonfly.png"/></p>  
  11. </fieldset>  

 

操作:

 

  1. $('#flower').appendTo('#targets p');              //這是是復制  
  2. $('#car').appendTo('#targets p:first');           //這個是移動  

===

有幾個相關命令的工作方式類似于append()和appendTo(),如:
1.prepend()和prependTo()---像append()和appendTo()那樣執行,不過是在目標元素的內容之前插入源元素,而不是之后。
2.before()和insertBefore()---在目標元素之前插入元素,而不是在目標元素的第一個子元素之前。
3.after()和insertAfter()---在目標元素之后插入元素,而不是在目標元素的最后一個子元素之后。
如例:

 
  1. $('<p>H1 there!</p>').insetAfter('p img');  


這個語句創建友好的段落,并把段落副本插入到段落內每個圖像元素之后。

 原文鏈接:http://blog.csdn.net/fhd001/article/details/6310320


文章列表


不含病毒。www.avast.com
全站熱搜
創作者介紹
創作者 大師兄 的頭像
大師兄

IT工程師數位筆記本

大師兄 發表在 痞客邦 留言(0) 人氣()