課程
/前端開發
/jQuery
/jQuery基礎(二)—DOM篇
元素數據(data)內對象和數組不會被復制,將繼續被克隆元素和原始元素共享。深復制的所有數據,需要手動復制每一個
這是什么意思?
2016-07-28
源自:jQuery基礎(二)—DOM篇 5-1
正在回答
請問下,就樓主的問題,怎么手動復制每一個?既然說手動,有沒有手動的代碼怎么寫?
下面的這個代碼為例:
<div class='div'>慕課網</div>
$('.div').data('name','imooc');
上面的代碼就是給div添加數據data。當你直接使用clone()時,div的data數據是不會被復制的。
var divcopy=$('.div').clone();
console.log(divcopy.name);//返回的是undefined;
只有使用clone(true)時;div中的data數據才會被復制。
簡單理解就是clone(true)復制的所有數據,無法使用clone()獲取,需要手動添加進去。
understand?
wanwan5856
694473412 回復 wanwan5856
694473412 回復 694473412
wanwan5856 回復 694473412
舉報
jQuery第二階段開啟DOM修煉,了解創建、插入、刪除與替換
3 回答元素數據(data)內對象和數組不會被復制,將繼續被克隆元素和原始元素共享。深復制的所有數據,需要手動復制每一個
4 回答關于深復制和淺復制問題:元素數據內對象和數組不會被復制
1 回答parents()方法會查每一個元素的所有祖輩元素?
1 回答復制一個” <p>p元素</p>“到h2下面,怎么不會被包裹起來?
1 回答remove()會刪除元素相關的jQuery數據 那么原生js的數據會被刪除嗎?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-07-22
請問下,就樓主的問題,怎么手動復制每一個?既然說手動,有沒有手動的代碼怎么寫?
下面的這個代碼為例:
<div class='div'>慕課網</div>
$('.div').data('name','imooc');
上面的代碼就是給div添加數據data。當你直接使用clone()時,div的data數據是不會被復制的。
var divcopy=$('.div').clone();
console.log(divcopy.name);//返回的是undefined;
2016-07-28
<div class='div'>慕課網</div>
$('.div').data('name','imooc');
上面的代碼就是給div添加數據data。當你直接使用clone()時,div的data數據是不會被復制的。
var divcopy=$('.div').clone();
console.log(divcopy.name);//返回的是undefined;
只有使用clone(true)時;div中的data數據才會被復制。
簡單理解就是clone(true)復制的所有數據,無法使用clone()獲取,需要手動添加進去。
understand?