2012-10-09 153 views
0

可能重複:
Opinion: in HTML, Possible Duplicate IDs or Non-Standard Attributes?jQuery的克隆與元素IDS

我目前正在寫一個使用jQuery的克隆與ID克隆一個元素的工具。這個克隆的元素可能有可能也有ID的孩子。到目前爲止,我沒有使任何克隆的元素id獨一無二。我很好奇,如果這可能會導致任何瀏覽器相關的問題,除了顯然無法找到使用Id選擇器的單個元素。特別是我很好奇,如果舊瀏覽器可能有重複的Ids問題。

要清楚我沒有看到任何問題,但我只能測試本機IE8作爲最老的瀏覽器。

我的假設是,它可能會導致一些小的顯示問題,因爲它是無效的HTML,這就是全部。

在使用ID的元素上使用克隆而不是在無效的HTML之外使其ID唯一是否有影響?

+0

已經在這裏提出。有一個很好的答案:http://stackoverflow.com/a/165818/982924 – RASG

回答

1

HTML將無效是的,但99%的時間實際上並未導致任何呈現問題。

如果您使用getElementById,您的JavaScript將遇到問題。你只能得到元素的第一個出現。 See here

1

很可能你根本不需要這些元素上的id--否則你會分別改變它們。

所以我提議只是刪除id屬性:

$e.removeAttr('id') 

,並消除id所有後代,

$e.find('*').removeAttr('id') 
+0

同意。如果正在使用ID,它們可能會被濫用,並且可能應該轉換爲類。 –

0

是,未來的jQuery/JavaScript的選擇將胡作非爲這些元素。