2009-08-14 393 views
1

如果父元素ID不同,是否可以爲元素的子元素創建id名稱與其他元素的子元素的id相同?任何潛在的衝突?重複元素子元素的ID

+0

...我很困惑,你能舉個例子嗎? – marcgg 2009-08-14 21:48:15

回答

9

不,元素id在整個文檔中應該是唯一的。 document.getElementById()將無法​​正常工作重複id(顯然,因爲它只返回一個元素)。現在你的頁面可能會與重複的id一樣正常工作,它不像瀏覽器會崩潰或拒絕渲染頁面或任何東西,但它不是正確的HTML。

如果您需要非唯一標識符,請使用class屬性。這正是爲了標記具有相同名稱的多個元素。

2

這是非常不好的做法,並可能導致錯誤。更好的解決方案是使用類來區分子對象,然後從父ID下降以找到要查找的元素。

1

無論在HTML還是Javascript環境下,ID都應該是唯一的。使用唯一的標識符你會更好。例如,你有多個id爲「foo」的元素;在document.getElementById(「foo」)中只會通過該ID返回第一個實例。

1

如果你有不同的具有相同ID的DOM元素,它會在某個時候導致麻煩...即使認爲它可能會工作,也不會這樣做。

3

Read the spec

該屬性[ID]分配一個名稱的元素。 這個名字必須在文檔中是唯一的