好的,我知道我的问题非常基本和愚蠢。但我真的想知道背后的原因。
我制作网站,我遵循所有w3规则。我的HTML有效。 但今天早上这个问题打击了我。
在HTML中,我们有一个ID和一个CLASS。两者都具有相同的功能。但是一个ID只使用一次,而CLASS用于一组元素。
例如:
<div id="menu">
<div class="menu-item"></div>
<div class="menu-item"></div>
<div class="menu-item"></div>
</div>
也可以写成
<div id="menu">
<div id="menu-item"></div>
<div id="menu-item"></div>
<div id="menu-item"></div>
</div>
以上代码都会产生相同的结果,对吧? 我在第一次开始制作网站时制作了整个网站,并且不确定这个规则。
所有这些网站都已售罄,并且没有一个网站遵循此规则。其中一个是http://www.mmun.org.pk/
所以是的,不要对这个问题竖起大拇指,我知道我也可以谷歌这个,但我不能与谷歌上的任何人讨论。
谢谢:)
答案 0 :(得分:2)
让我们举例。
就像人类一样,我们都是它的孩子,但我们仍然拥有独特的身份,但属于同一类。
与DOM相同,它们可以属于同一个类,但ID必须是唯一的。
答案 1 :(得分:1)
ID应该是唯一的,并且不能多次使用,您可以多次使用类。
ID比类更具体。
ID通常用于使用JavaScript定位元素。
答案 2 :(得分:1)
没了。决不。 id和class是不同的。 在javascript,您可以使用带有id的“document.getElementById()”。 在css中,您可以使用id和class来定义它。 因为Id是独一无二的,但课程可以无处不在。
答案 3 :(得分:1)
如果您正在谈论纯HTML,那么您在技术上多次使用相同的ID,但根据我的经验,如果您将ID用作选择器,则会导致问题。同样重要的是要注意,在XHTML中,不允许重复的ID,因为XML严格禁止这样做。
浏览器不为此抛出错误的原因是它们被编码为对错误的HTML有些容忍。悲伤,但却是真的。
更多解释:浏览器提供了操纵HTML中元素的方法(DOM方法,如document.getElementById()
)。 getElementById
将返回一个且只返回一个元素,因此将两个元素提供相同的ID会很困惑,因为您只能通过该ID访问其中一个元素。
答案 4 :(得分:1)
这些是根本不同的概念。有人会说比我更好,但是......
“类”描述实体的某些属性 - 它们共有的东西。你不能被你的班级唯一识别出来,虽然如果我认识你的班级,我可能会对你有很多了解。如果你是“国王”,我认为你住在宫殿,戴冠冕,有仆人,......但我不认识你。如果你是Willem Alexander,1967年4月27日的出生日期,我确切地知道你是谁。
“阶级”就像“国王”。 “id”就像“Willem Alexander”。可以有不止一个国王;但唯一标识符是唯一的。您可以使用类描述属性和方法 - 但是您不能识别INSTANCE。
我希望这可以解决一些问题。