在某些 DIV 元素中,我有一个复杂的布局,其中不同的子元素有自己的 ID。今天我意识到我需要复制整个东西,我没有时间用不同的 ID 重新创建相同的东西。
例如,拥有两个具有相同 ID 的 DIV 有那么糟糕吗?会发生什么?
在某些 DIV 元素中,我有一个复杂的布局,其中不同的子元素有自己的 ID。今天我意识到我需要复制整个东西,我没有时间用不同的 ID 重新创建相同的东西。
例如,拥有两个具有相同 ID 的 DIV 有那么糟糕吗?会发生什么?
主要问题是,当使用 JS 选择它们时,假设每个 ID 只有一个 - 这意味着事情通常会中断。
具体来说,getElementById
速度非常快,因为它假设每个 id 中只有一个。
此外,HTML4 规范说:
此属性为元素分配名称。此名称在文档中必须是唯一的。
真的不是很难改变,只需换成id
,class
并在你的 CSS#
中换成.
.
ID 应该是唯一的(只有一个元素使用它),而类更像是通用的(一组元素使用它)。
从这个网站引用,把它想象成一个教室:
- ID = 一个人的身份 (ID) 对一个人来说是唯一的。
- 班级 = 一个班级有很多人。
所以,我建议你从ID改为class。
这很糟糕,真的,因为它不应该那样使用。
浏览器非常宽容,但我会花时间使用类来避免这种情况。