欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery移動(dòng)和復(fù)制dom節(jié)點(diǎn)實(shí)用DOM操作案例

 更新時(shí)間:2012年12月17日 16:10:24   作者:  
復(fù)制節(jié)點(diǎn)也是常用的DOM操作之一,例如很多購(gòu)物網(wǎng)站的效果,本文將介紹jQuery移動(dòng)和復(fù)制dom節(jié)點(diǎn)等實(shí)用DOM操作,有需的朋友可以參考下
本文章簡(jiǎn)單的介紹了關(guān)于jQuery移動(dòng)和復(fù)制dom節(jié)點(diǎn)程序?qū)崿F(xiàn),有需要學(xué)習(xí)的朋友可參考參考。

在做一個(gè)項(xiàng)目時(shí),需要dom節(jié)點(diǎn)移動(dòng),如以下代碼:

復(fù)制代碼 代碼如下:

<div></div>
<p></p>

需要把p標(biāo)簽移動(dòng)到div標(biāo)簽里,經(jīng)過(guò)測(cè)試發(fā)現(xiàn),在jQuery中移動(dòng)dom節(jié)點(diǎn)非常方便:
復(fù)制代碼 代碼如下:

$('div').append($('p'))

這樣即可把p標(biāo)簽移動(dòng)到div標(biāo)簽里,千萬(wàn)不要寫成這樣:
復(fù)制代碼 代碼如下:

$('div').append( $('p').html() )

這樣只是把p標(biāo)簽里的內(nèi)容復(fù)制到div標(biāo)簽里。

如果只是復(fù)制一份到div標(biāo)簽里,原來(lái)的標(biāo)簽還保留著,那么可以這么寫:

復(fù)制代碼 代碼如下:

$('div').append( $('p').clone(true))


復(fù)制代碼 代碼如下:

$(function(){
$(".nm_ul li").click(function(){
$(this).clone(true).appendTo(".nm_ul"); // 復(fù)制當(dāng)前點(diǎn)擊的節(jié)點(diǎn),并將它追加到<ul>元素
})
});

而且當(dāng)clone參數(shù)設(shè)置為true時(shí)還可以將按鈕上綁定的事件一起復(fù)制到新按鈕上

在clone()方法中傳遞了一個(gè)參數(shù)true,它的含義是復(fù)制元素的同時(shí)復(fù)制元素中所綁定的事件。因此該元素的副本也同樣具有復(fù)制功能。如果不希望事件也被復(fù)制,則可以這么寫:

復(fù)制代碼 代碼如下:

$('div').append( $('p').clone())

移動(dòng)節(jié)點(diǎn)
將頁(yè)面上的一個(gè)節(jié)點(diǎn)移動(dòng)到另外一個(gè)地方可以用jq的內(nèi)部和外部插入方法(append,appendTo,prepend,prependTo,after,before,insertAfter,insertBefore),直接將選中的節(jié)點(diǎn)傳遞進(jìn)去就可以實(shí)現(xiàn)移動(dòng)
復(fù)制代碼 代碼如下:

<button>Move Me!</button>
<div id="box"></div>
實(shí)例
$("button").click(function(){
$(this).appendTo($("#box"));
//或者用append
$("#box").append(this);
});

復(fù)制節(jié)點(diǎn)也是常用的DOM操作之一,例如很多購(gòu)物網(wǎng)站的效果,用戶不僅可以通過(guò)單擊商品下方的“選擇”按鈕購(gòu)買相應(yīng)的產(chǎn)品,也可以通過(guò)鼠標(biāo)拖動(dòng)商品并將其放到購(gòu)物車中。這個(gè)商品拖動(dòng)功能就是用的復(fù)制節(jié)點(diǎn),將用戶選擇的商品所處的節(jié)點(diǎn)元素復(fù)制一次,并將其跟隨鼠標(biāo)移動(dòng),從而達(dá)到購(gòu)物效果。
HTML DOM結(jié)構(gòu)如下:
復(fù)制代碼 代碼如下:

<p class="nm_p" title="歡迎訪問(wèn)腳本之家圖書館" >歡迎訪問(wèn)腳本之家圖書館</p>
<ul class="nm_ul">
<li title='PHP魔法'>簡(jiǎn)單易懂的PHP魔法</li>
<li title='C魔法'>簡(jiǎn)單易懂的C魔法</li>
<li title='JavaScript魔法'>簡(jiǎn)單易懂的JavaScript魔法</li>
<li title='JQuery'>簡(jiǎn)單易懂的JQuery魔法</li>
</ul>

如果單擊<li>元素后需要再?gòu)?fù)制一個(gè)<li>元素,可以使用clone()方法來(lái)完成,先來(lái)看看效果:
效果演示
歡迎訪問(wèn)腳本之家圖書館
簡(jiǎn)單易懂的PHP魔法
簡(jiǎn)單易懂的C魔法
簡(jiǎn)單易懂的JavaScript魔法
簡(jiǎn)單易懂的JQuery魔法
JQuery代碼如下:
復(fù)制代碼 代碼如下:

$(function(){
$(".nm_ul li").click(function(){
$(this).clone(true).appendTo(".nm_ul"); // 復(fù)制當(dāng)前點(diǎn)擊的節(jié)點(diǎn),并將它追加到<ul>元素
})
});

在頁(yè)面中單擊隨便一項(xiàng)后,列表最下方出現(xiàn)該項(xiàng)的新節(jié)點(diǎn)。
復(fù)制節(jié)點(diǎn)后,被復(fù)制的新元素并不具有任何行為。如果需要新元素也具有復(fù)制功能(本例中是單擊事件),可以使用如下JQuery代碼:
復(fù)制代碼 代碼如下:

$("ul li").click(function(){
$(this).clone(true).appendTo("ul"); // 注意參數(shù)true
//可以復(fù)制自己,并且他的副本也有同樣功能。
})

相關(guān)文章

最新評(píng)論