jQuery移動和復(fù)制dom節(jié)點實用DOM操作案例
在做一個項目時,需要dom節(jié)點移動,如以下代碼:
<div></div>
<p></p>
需要把p標簽移動到div標簽里,經(jīng)過測試發(fā)現(xiàn),在jQuery中移動dom節(jié)點非常方便:
$('div').append($('p'))
這樣即可把p標簽移動到div標簽里,千萬不要寫成這樣:
$('div').append( $('p').html() )
這樣只是把p標簽里的內(nèi)容復(fù)制到div標簽里。
如果只是復(fù)制一份到div標簽里,原來的標簽還保留著,那么可以這么寫:
$('div').append( $('p').clone(true))
例
$(function(){
$(".nm_ul li").click(function(){
$(this).clone(true).appendTo(".nm_ul"); // 復(fù)制當(dāng)前點擊的節(jié)點,并將它追加到<ul>元素
})
});
而且當(dāng)clone參數(shù)設(shè)置為true時還可以將按鈕上綁定的事件一起復(fù)制到新按鈕上
在clone()方法中傳遞了一個參數(shù)true,它的含義是復(fù)制元素的同時復(fù)制元素中所綁定的事件。因此該元素的副本也同樣具有復(fù)制功能。如果不希望事件也被復(fù)制,則可以這么寫:
$('div').append( $('p').clone())
移動節(jié)點
將頁面上的一個節(jié)點移動到另外一個地方可以用jq的內(nèi)部和外部插入方法(append,appendTo,prepend,prependTo,after,before,insertAfter,insertBefore),直接將選中的節(jié)點傳遞進去就可以實現(xiàn)移動
<button>Move Me!</button>
<div id="box"></div>
實例
$("button").click(function(){
$(this).appendTo($("#box"));
//或者用append
$("#box").append(this);
});
復(fù)制節(jié)點也是常用的DOM操作之一,例如很多購物網(wǎng)站的效果,用戶不僅可以通過單擊商品下方的“選擇”按鈕購買相應(yīng)的產(chǎn)品,也可以通過鼠標拖動商品并將其放到購物車中。這個商品拖動功能就是用的復(fù)制節(jié)點,將用戶選擇的商品所處的節(jié)點元素復(fù)制一次,并將其跟隨鼠標移動,從而達到購物效果。
HTML DOM結(jié)構(gòu)如下:
<p class="nm_p" title="歡迎訪問腳本之家圖書館" >歡迎訪問腳本之家圖書館</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()方法來完成,先來看看效果:
效果演示
歡迎訪問腳本之家圖書館
簡單易懂的PHP魔法
簡單易懂的C魔法
簡單易懂的JavaScript魔法
簡單易懂的JQuery魔法
JQuery代碼如下:
$(function(){
$(".nm_ul li").click(function(){
$(this).clone(true).appendTo(".nm_ul"); // 復(fù)制當(dāng)前點擊的節(jié)點,并將它追加到<ul>元素
})
});
在頁面中單擊隨便一項后,列表最下方出現(xiàn)該項的新節(jié)點。
復(fù)制節(jié)點后,被復(fù)制的新元素并不具有任何行為。如果需要新元素也具有復(fù)制功能(本例中是單擊事件),可以使用如下JQuery代碼:
$("ul li").click(function(){
$(this).clone(true).appendTo("ul"); // 注意參數(shù)true
//可以復(fù)制自己,并且他的副本也有同樣功能。
})
相關(guān)文章
jQuery的選擇器中的通配符[id^=''code'']或[name^=''code'']及jquery選擇器總結(jié)
這篇文章主要介紹了jQuery的選擇器中的通配符[id^='code']或[name^='code']及jquery選擇器總結(jié)的相關(guān)資料,需要的朋友可以參考下2015-12-12
jQuery實現(xiàn)Select下拉列表進行狀態(tài)選擇功能
本文主要介紹了jQuery實現(xiàn)Select下拉列表進行狀態(tài)選擇功能的代碼。具有很好的參考價值,下面跟著小編一起來看下吧2017-03-03
jquery對所有input type=text的控件賦值實現(xiàn)方法
下面小編就為大家?guī)硪黄猨query對所有input type=text的控件賦值實現(xiàn)方法。小編覺的挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12
兩個select之間option的互相添加操作(jquery實現(xiàn))
兩個select,將其中一個select選中的選項添加到另一個select中,或者點擊全部添加按鈕將所有的option都添加過去.2009-11-11
jQuery-ui插件sortable實現(xiàn)自由拖動排序
這篇文章主要為大家詳細介紹了jQuery-ui插件sortable實現(xiàn)自由拖動排序,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12

