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

Can two html elements have the same id but in different classes?

我正在为一个现有应用程序编写一个 javascript,其中有两个具有单独 id 的表单,并且在每个表单中都有一个 div 其 ID 为 "validationSummary"。但是这些 div 属于不同的 class。所以我的问题是这可能吗?请任何人都可以解释我这是正确的吗?

这些是 div

<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>

而且 class notice_bar 也很常见,导致其他混淆!

它应该可以工作...我开发了一个创建了相同 ID 的应用程序,而且我曾经在同一时间在页面上使用相同的 ID。这不是好的做法,因为 ID 应该是唯一的,但除非您需要使用来自该特定 ID 的 JavaScript 到 运行 某些东西(在您的情况下 validationSummary )它应该可以工作。如前所述,这不是 ID 的意义所在。

可能吗?是的。 编码好?编号

来自w3.org

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

A unique identifier for the element.

There must not be multiple elements in a document that have the same id value.

摘自 w3.org.

The id attribute specifies a unique id for an HTML element (the value must be unique within the HTML document).

摘自 W3Schools.

它应该工作得很好,但这不是一个好的做法。冗余不一定是好事。