我讀了一些這方面的問題和答案,但他們都不讓手頭上的問題的肉(或馬鈴薯)。jQuery的.clone()與id和name屬性
如果你有一個ID和/或名稱,與IDS和/或名兒童的單元點.clone(),你得到了什麼?沒有ID或名稱的物品?該項目通過複製IDS違反DOM的規則是什麼?
我讀了一些這方面的問題和答案,但他們都不讓手頭上的問題的肉(或馬鈴薯)。jQuery的.clone()與id和name屬性
如果你有一個ID和/或名稱,與IDS和/或名兒童的單元點.clone(),你得到了什麼?沒有ID或名稱的物品?該項目通過複製IDS違反DOM的規則是什麼?
調用.clone()
本身並不違反任何DOM的規則(.clone()
只是一個函數調用,結果存在於內存中)。
插入.clone()
呼叫到DOM的結果,但是,將導致兩個元素具有相同id
文檔(正如你指出是哪些無效)的存在。
克隆的元素不會插入到DOM,只是還沒有。它們只存在於內存,因此不違反任何規範。這是我的理解。
多個元素可以有相同的name
,所以這不是一個問題。
一個元素上調用clone
本身不是確實違反唯一ID的DOM規則。這是因爲該元素的副本不是當前在文檔。如果當你插入的規則只破。
其他的答案歸納起來好聽,但這裏是一個新的克隆刪除id
屬性的方法...
clone.find('[id]').removeAttr('id');
另外,如果你想將字符串添加到他們的id
屬性。 ..
clone.find('[id]').attr('id', function(index, oldId) { return oldId + 'cloned'; });