我读了一些这方面的问题和答案,但他们都不让手头上的问题的肉(或马铃薯)。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'; });