1、實(shí)現(xiàn)點(diǎn)擊按鈕,復(fù)制文本框中的的內(nèi)容? 。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、肅南裕固族自治網(wǎng)絡(luò)推廣、小程序定制開發(fā)、肅南裕固族自治網(wǎng)絡(luò)營銷、肅南裕固族自治企業(yè)策劃、肅南裕固族自治品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供肅南裕固族自治建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:aaarwkj.com
2、復(fù)制專題地址和 url 地址,傳給 QQ/MSN 上的好友。
3、直接復(fù)制 url。
4、點(diǎn)擊文本框時(shí),復(fù)制文本框里面的內(nèi)容。
5、復(fù)制文本框或者隱藏域中的內(nèi)容。
6、復(fù)制 span 標(biāo)記中的內(nèi)容。
jQuery中的$.extend深拷貝,這種方式會(huì)完全拷貝所有數(shù)據(jù),優(yōu)點(diǎn)是B與A不會(huì)相互依賴(A,B完全脫離關(guān)聯(lián)), 缺點(diǎn)是拷貝的速度更慢,代價(jià)更大。
jquery中的深拷貝:
數(shù)組深拷貝是將數(shù)組淺拷貝與對象深拷貝結(jié)合后得到的解決方案:
jQuery 代碼:
$.map( [obj1,obj2,obj3], function(obj){
return $.extend(true,{},obj);//返回對象的深拷貝
});
如何實(shí)現(xiàn)數(shù)組深拷貝和淺拷貝?
1.背景介紹
javascript分原始類型與引用類型。Array是引用類型,直接用“=”號(hào)賦值的話,只是把源數(shù)組的地址(或叫指針)賦值給目的數(shù)組,并沒有實(shí)現(xiàn)數(shù)組的數(shù)據(jù)的拷貝。這種方式的實(shí)現(xiàn)屬于淺拷貝。
深拷貝是開辟新的儲(chǔ)存空間,兩個(gè)對象對應(yīng)兩個(gè)不同的地址,修改一個(gè)對象的屬性,不會(huì)改變另一個(gè)對象的屬性。
2.知識(shí)剖析
一維數(shù)組的深拷貝方法:slice()和concat()
slice()的使用方法
slice()語法:arrayObj.slice(start,)
slice方法是通過參數(shù)start和end的傳入值來返回?cái)?shù)組中的一段,該方法不對原數(shù)組進(jìn)行操作,而是返回一個(gè)子數(shù)組
start:必需。規(guī)定從何處開始選取。如果是負(fù)數(shù),那么它規(guī)定從數(shù)組尾部開始算起的位置。也就是說,-1 指最后一個(gè)元素,-2 指倒數(shù)第二個(gè)元素,以此類推。
end:可選。規(guī)定從何處結(jié)束選取。該參數(shù)是數(shù)組片斷結(jié)束處的數(shù)組下標(biāo)。如果沒有指定該參數(shù),那么切分的數(shù)組包含從 start 到數(shù)組結(jié)束的所有元素。如果這個(gè)參數(shù)是負(fù)數(shù),那么它規(guī)定的是從數(shù)組尾部開始算起的元素。
返回值:返回一個(gè)新的數(shù)組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素(如果 end 未被規(guī)定,那么 slice() 方法會(huì)選取從 start 到數(shù)組結(jié)尾的所有元素)。
concat()的使用方法
concat()語法:arrayObject.concat(arrayX,arrayX,......,arrayX)
arrayX:必需,可以是具體的值,也可以是數(shù)組對象??梢允侨我舛鄠€(gè)。
concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組。 該方法不會(huì)改變現(xiàn)有的數(shù)組,而僅僅會(huì)返回一個(gè)新的數(shù)組。如果要進(jìn)行 concat() 操作的參 數(shù)是數(shù)組,那么添加的是數(shù)組中的元素,而不是數(shù)組。
3.常見問題
1、jquery中數(shù)組深拷貝辦法
語法:jQuery.extend( [deep ], target, object1 [, objectN ] )
將兩個(gè)或更多對象的內(nèi)容合并到第一個(gè)對象。
deep:可選。 Boolean類型 指示是否深度合并對象,默認(rèn)為false。如果該值為true,且多個(gè)對象的某個(gè)同名屬性也都是對象,則該"屬性對象"的屬性也將進(jìn)行合并。
2、什么是深拷貝?
深拷貝:指的是拷貝一個(gè)對象時(shí),不僅僅把對象的引用進(jìn)行復(fù)制,還把該對象引用的值也一起拷貝。這樣進(jìn)行深拷貝后的拷貝對象就和源對象互相獨(dú)立,其中任何一個(gè)對象的改動(dòng)都不會(huì)對另外一個(gè)對象造成影響。舉個(gè)例子,一個(gè)人叫張三,然后使用克隆技術(shù)以張三來克隆另外一個(gè)人叫李四,這樣張三和李四就是相互獨(dú)立的,不管張三缺胳膊還是李四少腿了都不會(huì)影響另外一個(gè)人。在.NET領(lǐng)域,值對象就是典型的例子,如int, Double以及結(jié)構(gòu)體和枚舉等。
3、什么是淺拷貝呢?
淺拷貝:指的是拷貝一個(gè)對象時(shí),僅僅拷貝對象的引用進(jìn)行拷貝,但是拷貝對象和源對象還是引用同一份實(shí)體。此時(shí),其中一個(gè)對象的改變都會(huì)影響到另一個(gè)對象。例如,一個(gè)人一開始叫張三,后來改名字為張老三了,可是他們還是同一個(gè)人,不管張三缺胳膊還是張老三少腿,都反應(yīng)在同一個(gè)人身上。在.NET中引用類型就是一個(gè)例子。
4 解決方案
jquery.extend()
語法:jQuery.extend( [deep ], target, object1 [, objectN ] )
將兩個(gè)或更多對象的內(nèi)容合并到第一個(gè)對象。
deep:可選。 Boolean類型 指示是否深度合并對象,默認(rèn)為false。如果該值為true,且多個(gè)對象的某個(gè)同名屬性也都是對象,則該"屬性對象"的屬性也將進(jìn)行合并。
5.編碼實(shí)戰(zhàn)
6.擴(kuò)展思考
slice和concat對數(shù)組深拷貝的局限性
slice和concat這兩個(gè)方法,僅適用于對不包含引用對象的一維數(shù)組的深拷貝。對于數(shù)組內(nèi)部存在對象和數(shù)組,當(dāng)改變對象屬性和內(nèi)部數(shù)組的元素后,深拷貝的數(shù)組同樣也發(fā)生了改變。
文章題目:jquery拷貝,jq復(fù)制元素
文章源于:http://aaarwkj.com/article0/dsiecoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、品牌網(wǎng)站設(shè)計(jì)、建站公司、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)