两个 HTML 元素可以拥有相同的 id 但在不同的类中吗?

4
我正在为一个现有应用程序编写JavaScript代码,其中有两个具有不同id的表单,每个表单中都有一个ID为"validationSummary"
。但是这些
属于不同的类别。所以我的问题是这是否可能?请问是否有人能解释一下这是否正确?

这些是

<form id="foo" .....>
<div class="notice_bar validation-summary-errors error_message" id="validationSummary"></div>
</form>

<form id="bar" .....>
<div class="validation-summary-valid notice_bar affirmative_message" id="validationSummary"></div>
</form>

同时,notice_bar类也很常见,这会导致其他混淆!


2
你试过了吗?是的,这是可能的。不,这是不正确的。常见类notice_bar会导致什么混淆? - Igor
ID应该是唯一的。只使用一次。指的是validationSummary - m4n0
@Igor:notice_bar 类现在有两个具有相同 id 的 div 元素。这不会产生冲突吗?顺便说一下,这就是我要找的答案。谢谢。 - Necromancer
1
@Necromancer - CSS类应该用于多个元素,而不管这些元素的ID是什么。 - Igor
4个回答

4

可能吗?是的。

好的编码方式?不是。

w3.org

ID和NAME标记必须以字母([A-Za-z])开头,可以由任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“_”)、冒号(“:”)和句点(“.”)组成。


3

该元素的唯一标识符。

文档中不得有多个具有相同id值的元素。

取自 w3.org

id属性为HTML元素指定了一个唯一的id(该值在HTML文档内必须是唯一的)。

取自 W3Schools


0

这应该可以正常工作,但这不是一个好的实践。冗余并不一定是一件好事。


-1

应该可以运行...我曾经在一个应用程序上创建了相同的ID,并且同时在页面上使用了相同的ID。这不是好的实践,因为ID应该是唯一的,但是除非您需要使用一些JavaScript从特定的ID(在您的情况下是validationSummary)运行某些内容,否则它应该可以工作。正如已经说过的那样,这不是ID的本意。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接