jquery深度復(fù)制的簡(jiǎn)單介紹

jquery復(fù)制DIV,并自增ID

1、首先,打開(kāi)html編輯器,新建html文件,例如:index.html,編寫問(wèn)題基礎(chǔ)代碼。在index.html中的script標(biāo)簽,輸入js代碼:$(li a).each(function (i, e) {$(this).attr(id, id1_ + i);});。

成都創(chuàng)新互聯(lián)憑借專業(yè)的設(shè)計(jì)團(tuán)隊(duì)扎實(shí)的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識(shí)和豐厚的資源優(yōu)勢(shì),提供專業(yè)的網(wǎng)站策劃、網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站優(yōu)化、軟件開(kāi)發(fā)、網(wǎng)站改版等服務(wù),在成都10年的網(wǎng)站建設(shè)設(shè)計(jì)經(jīng)驗(yàn),為成都上千余家中小型企業(yè)策劃設(shè)計(jì)了網(wǎng)站。

2、).clone().attr(id, second).text(2).appendTo(body) //克隆并修改id和值,添加到body下面。

3、在test.html文件中,給button按鈕綁定onclick點(diǎn)擊事件,當(dāng)按鈕被點(diǎn)擊時(shí),執(zhí)行g(shù)etdivc()函數(shù)。

4、--說(shuō)明:如果給定一個(gè)表示 DOM 元素集合的 jQuery 對(duì)象,.next() 方法允許我們搜索 DOM 樹(shù)中的元素緊跟的同胞元素,并用匹配元素構(gòu)造新的 jQuery 對(duì)象。

5、我們先引入jquery的腳本文件。在html里,我們?cè)谝粋€(gè)div里有內(nèi)容「百度」。后面添加一個(gè)按鈕,有一個(gè)changeText的事件函數(shù)。在changeText方法里,我們先使用jquery通過(guò)id獲得對(duì)應(yīng)的div。

6、jquery是頁(yè)面一加載獲取頁(yè)面元素的,你后期加的a標(biāo)簽,是獲取不到的。

jquery怎樣深拷貝一個(gè)數(shù)組

concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組。 該方法不會(huì)改變現(xiàn)有的數(shù)組,而僅僅會(huì)返回一個(gè)新的數(shù)組。如果要進(jìn)行 concat() 操作的參 數(shù)是數(shù)組,那么添加的是數(shù)組中的元素,而不是數(shù)組。

jQuery.extend( [deep ], target, object1 [, objectN ] ),其中deep為Boolean類型,如果是true,則進(jìn)行深拷貝。 我們還是用上面的數(shù)據(jù)來(lái)看下extend()方法。

淺拷貝:復(fù)制一份引用,所有引用對(duì)象都指向一份數(shù)據(jù),并且都可以修改這份數(shù)據(jù)。深拷貝(復(fù)雜):復(fù)制變量值,對(duì)于非基本類型的變量,則遞歸至基本類型變量后,再?gòu)?fù)制。

你把請(qǐng)求提交給jsp去處理查詢數(shù)據(jù)庫(kù)的話,我以前是用xml來(lái)返回,然后那個(gè)ajax()解析xml得到數(shù)組。

所以,extendCopy()只是拷貝基本類型的數(shù)據(jù),我們把這種拷貝叫做淺拷貝。這是早期jQuery實(shí)現(xiàn)繼承的方式。 深拷貝 所謂深拷貝,就是能夠?qū)崿F(xiàn)真正意義上的數(shù)組和對(duì)象的拷貝。它的實(shí)現(xiàn)并不難,只要遞歸調(diào)用淺拷貝就行了。

深拷貝與淺拷貝的實(shí)現(xiàn)(一)

1、主要看下關(guān)于深拷貝的部分,取第一個(gè)參數(shù),如果是boolean類型的,就賦值給deep,下面如果deep為true(也就是進(jìn)行深拷貝),就遞歸調(diào)用extend(),這樣就將對(duì)象的所有屬性都添加到了target中實(shí)現(xiàn)了深拷貝。

2、javascript分原始類型與引用類型。Array是引用類型,直接用“=”號(hào)賦值的話,只是把源數(shù)組的地址(或叫指針)賦值給目的數(shù)組,并沒(méi)有實(shí)現(xiàn)數(shù)組的數(shù)據(jù)的拷貝。這種方式的實(shí)現(xiàn)屬于淺拷貝。

3、關(guān)于這個(gè)方法有一個(gè)缺點(diǎn)就是 不能拷貝function和undefine( 在火狐上直接報(bào)錯(cuò)error,而在谷歌上會(huì)直接忽略掉相關(guān)屬性) 。因?yàn)檫@是通過(guò)把數(shù)據(jù)轉(zhuǎn)化為字符串的形式賦值給一個(gè)新地址。

4、對(duì)于不可變對(duì)象,淺拷貝和深拷貝都是相同的。淺拷貝只會(huì)復(fù)制可變對(duì)象的一層內(nèi)容,而不會(huì)遞歸復(fù)制可變對(duì)象包含的子對(duì)象。如果需要遞歸復(fù)制子對(duì)象,必須使用深拷貝。

5、因此如果要用clone()方法實(shí)現(xiàn)一個(gè)深拷貝,我們必須對(duì)每個(gè)對(duì)象的clone()方法進(jìn)行特別實(shí)現(xiàn)。

6、而當(dāng)我們a[0]=1時(shí)進(jìn)行數(shù)組修改時(shí),由于a與b指向的是同一個(gè)地址,所以自然b也受了影響,這就是所謂的淺拷貝了。

js深拷貝和淺拷貝的區(qū)別

1、淺拷貝 淺拷貝只復(fù)制某個(gè)對(duì)象的引用,而不復(fù)制對(duì)象本身,新舊對(duì)象還是共享同一塊內(nèi)存 深拷貝 深拷貝會(huì)創(chuàng)造一個(gè)一摸一樣的對(duì)象,新對(duì)象和原對(duì)象不共享內(nèi)存,修改新對(duì)象不會(huì)改變?cè)瓕?duì)對(duì)象。

2、概念1:淺拷貝淺拷貝就是指拷貝引用,新生成的引用和原來(lái)的引用都是指向同一個(gè)對(duì)象的實(shí)例,彼此之間的操作會(huì)相互影響。

3、淺拷貝:也叫引用拷貝,公用一塊內(nèi)存地址,一個(gè)改變另一個(gè)也改變;深拷貝:創(chuàng)建新的內(nèi)存地址保存值,與原對(duì)象完全獨(dú)立。

4、淺拷貝:默認(rèn)的拷貝就是淺拷貝。 僅僅多了個(gè)指針指向原來(lái)的空間。深拷貝:自己寫的拷貝,自己申請(qǐng)了動(dòng)態(tài)內(nèi)存空間,用了new 或 malloc 。不但多了指針,而且多了空間。

5、拷貝的兩層含義,對(duì)應(yīng)了淺拷貝和深拷貝的概念,做了第一層,就是淺拷貝,做到第二層,就是深拷貝。淺拷貝:將原對(duì)象或原數(shù)組的引用直接賦給新對(duì)象,新數(shù)組,新對(duì)象/數(shù)組只是原對(duì)象的一個(gè)引用。

當(dāng)前標(biāo)題:jquery深度復(fù)制的簡(jiǎn)單介紹
文章地址:http://muchs.cn/article47/dggoshj.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、品牌網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)動(dòng)態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化