在一些DIV元素中,我有一個複雜的佈局,不同的子元素有自己的ID。今天我意識到我需要複製整個事物,並且我沒有時間用不同的ID重新創建相同的事物。幾個具有相同ID的HTML元素,是不是很錯誤?
例如,如果有兩個具有相同ID的DIV,那麼這麼糟糕嗎?會發生什麼?
在一些DIV元素中,我有一個複雜的佈局,不同的子元素有自己的ID。今天我意識到我需要複製整個事物,並且我沒有時間用不同的ID重新創建相同的事物。幾個具有相同ID的HTML元素,是不是很錯誤?
例如,如果有兩個具有相同ID的DIV,那麼這麼糟糕嗎?會發生什麼?
一個ID應該是唯一的(只有一個元素使用它),而類更像是通用的(一組元素使用它)。從這個website
報價,認爲它是一個課堂:
- ID =一個人的識別(ID)是唯一的一個人。
- Class =班上有很多人。
所以,我建議你從ID改爲類。
這是不好的,真的,因爲它不應該那樣使用。
瀏覽器是相當寬容的,但我會花時間避免使用類。
主要問題是,當使用JS選擇它們時,它假定每個ID只有一個 - 這意味着事情通常會中斷。
具體來說,getElementById
是非常快速的,因爲它只假設每個ID中的一個。
另外,HTML4 specification說:
該屬性分配一個名稱的元素。該名稱在文檔中必須是唯一的 。
這真的不是很難改變,只是交換id
到class
,並在你的CSS #
到.
。
欲進一步閱讀:[HTML5規範的'ID屬性'](http://www.w3.org/ TR/html5/dom.html#the-id-attribute)和[HTML4規範的ID屬性](http://www.w3.org/TR/html401/struct/global.html#adef-id)(as引)。 – 2013-03-17 12:09:01
我建議你花時間正確使用課程。它將爲您節省時間,因爲臨時解決方案通常成爲永久的臨時解決方案。 – OpherV 2013-03-17 09:54:48
請閱讀本文http://css-tricks.com/the-difference-between-id-and-class/ – Zeroic 2013-03-17 10:16:10