本文實(shí)例講述了JQuery復(fù)制DOM節(jié)點(diǎn)的方法。分享給大家供大家參考。具體分析如下:
復(fù)制節(jié)點(diǎn)也是常用的DOM操作之一,例如很多購物網(wǎng)站的效果,用戶不僅可以通過單擊商品下方的“選擇”按鈕購買相應(yīng)的產(chǎn)品,也可以通過鼠標(biāo)拖動商品并將其放到購物車中。這個商品拖動功能就是用的復(fù)制節(jié)點(diǎn),將用戶選擇的商品所處的節(jié)點(diǎn)元素復(fù)制一次,并將其跟隨鼠標(biāo)移動,從而達(dá)到購物效果。
HTML DOM結(jié)構(gòu)如下:
<p class="nm_p" title="歡迎訪問武林網(wǎng)" >歡迎訪問武林網(wǎng)</p><ul class="nm_ul"> <li title='PHP編程'>簡單易懂的PHP編程</li> <li title='C編程'>簡單易懂的C編程</li> <li title='JavaScript編程'>簡單易懂的JavaScript編程</li> <li title='JQuery'>簡單易懂的JQuery編程</li></ul>
如果單擊<li>元素后需要再復(fù)制一個<li>元素,可以使用clone()方法來完成。
JQuery代碼如下:
$(function(){ $(".nm_ul li").click(function(){ $(this).clone(true).appendTo(".nm_ul"); // 復(fù)制當(dāng)前點(diǎn)擊的節(jié)點(diǎn),并將它追加到<ul>元素 }) });在頁面中單擊隨便一項后,列表最下方出現(xiàn)該項的新節(jié)點(diǎn)。
復(fù)制節(jié)點(diǎn)后,被復(fù)制的新元素并不具有任何行為。如果需要新元素也具有復(fù)制功能(本例中是單擊事件),可以使用如下JQuery代碼:
$("ul li").click(function(){ $(this).clone(true).appendTo("ul"); // 注意參數(shù)true //可以復(fù)制自己,并且他的副本也有同樣功能。 })在clone()方法中傳遞了一個參數(shù)true,它的含義是復(fù)制元素的同時復(fù)制元素中所綁定的事件。因此該元素的副本也同樣具有復(fù)制功能(本例中是單擊事件)。
希望本文所述對大家的jQuery程序設(shè)計有所幫助。
新聞熱點(diǎn)
疑難解答