jQuery -> 複製DOM元素

來源:互聯網
上載者:User

標籤:jquery   clone   

使用jQuery內建的clone函數可以複製DOM元素,而且clone函數支援鏈式調用


下例是clone的一個簡單用法,它做了一個ul的副本,並添加到body中。


<!DOCTYPE html><html><head><meta charset="utf-8"></head><body><ul><li>list</li><li>list</li><li>list</li><li>list</li></ul><script type="text/javascript" src="jquery-1.11.1.js"></script><script type="text/javascript"><strong>$('ul').clone().appendTo('body');</strong></script></body></html>

利用clone函數我們可以完成一些更加複雜的操作

比如,複製一個元素,然後刪除被複製的原始元素

仍然以ul為例,按照以下流程對其進行操作

  1. 擷取ul(id=‘a‘)的所有li元素
  2. 為li元素添加click事件
  3. 複製所有的li元素
  4. 把複製的li元素添加到另一個ul(id=‘b‘)元素中
  5. 刪除原始的ul(id=‘a‘)元素

程式碼範例如下

<!DOCTYPE html><html><head><meta charset="utf-8"></head><body><ul id="a"><li>list</li><li>list</li><li>list</li><li>list</li></ul><ul id="b"></ul><script type="text/javascript" src="jquery-1.11.1.js"></script><script type="text/javascript">$('ul#a li').click(function() {alert('List Item Clicked')}).parent().clone(true).find('li').appendTo('#b').end().end().end().remove();</script></body></html>xxx

在執行完appendTo(‘#b‘)之後,連續調用了三次end()回溯到原始的ul元素,然後進行刪除

  1. 第一個end()撤銷了appendTo(‘#b‘)的操作
  2. 第二個end()撤銷了find(‘li‘)的操作
  3. 第三個end()撤銷了clone(true)的操作
  4. 三個end()執行完之後,回到了parent()的結果集,也就是remove()的作用對象

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.