在使用jQuery的clone()函數(shù)復制某元素時,會發(fā)現(xiàn)復制的元素的id會與原元素的id重復,這會帶來一些問題,導致問題的原因是復制的元素中也含有與原元素相同的id。
解決這個問題的方法是修改復制出來的元素的ID,可以使用jQuery的attr()函數(shù)來實現(xiàn),代碼如下所示:
var $clone = $("#original").clone(); $clone.attr("id", "new_id");
上述代碼會先將id為"original"的元素復制出來,并將復制出來的元素的id修改為"new_id",從而避免了id重復的問題。
上述解決方案雖然可以解決id重復的問題,但并不優(yōu)雅,如果原始元素中含有其他元素綁定的事件或樣式,還需要手動修改,代碼實現(xiàn)不便,因此建議不要在元素中直接寫id,而是使用class來代替,這樣就可以避免沖突了。
綜上,當遇到jQuery的clone()函數(shù)復制某元素時,引起id重復問題的時候,記得修改復制出來的元素的ID即可。