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

Posted

技术标签:

【中文标题】两个 html 元素可以具有相同的 id 但属于不同的类吗?【英文标题】:Can two html elements have the same id but in different classes? 【发布时间】:2016-02-15 23:54:00 【问题描述】:

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

这些是divs:

<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 类也很常见,会导致其他混乱!

【问题讨论】:

你试过了吗?对的,这是可能的。不,这是不正确的。普通类notice_bar 会导致什么混乱? ID 是唯一的。只使用一次。参考validationSummary @Igor :notice_bar 类现在有两个具有相同 ID 的 div 元素。不会是冲突吗?顺便说一句,这就是我正在寻找的答案。谢谢。 @Necromancer - css 类用于多个元素,无论元素的 id 是什么 【参考方案1】:

可能吗?是的。 编码好?没有。

来自w3.org:

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

【讨论】:

【参考方案2】:

元素的唯一标识符。

必须在一个文档中不能有多个元素具有相同的 id 值。

取自w3.org

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

取自W3Schools

【讨论】:

【参考方案3】:

它应该可以正常工作,但这不是一个好习惯。冗余不一定是好事。

【讨论】:

【参考方案4】:

它应该可以工作...我在一个创建相同 ID 的应用程序上工作,并且我曾经在页面上同时拥有相同的 ID。这不是一个好习惯,因为 ID 是唯一的,但除非您需要使用一些 JavaScript 从该特定 ID(在您的情况下为 validationSummary )运行某些东西,否则它应该可以工作。如前所述,这不是 ID 的意义所在。

【讨论】:

以上是关于两个 html 元素可以具有相同的 id 但属于不同的类吗?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery:当我有多个具有相同名称但唯一 id 的元素时,我可以按名称选择一个元素并读取它的 id 吗?

在 Wordpress 中使用 Jquery 和 css 区分两个相同的 HTML ID 元素

Python 中的两个变量具有相同的 id,但不是列表或元组

使用 STL 在相反类别中查找具有匹配属性的元素的算法

当两个字段具有相同的id时,jQuery远程验证不起作用

CSS给元素设置ID属性