如果一个设置多个 html 标签的 id 属性值,相同的字符串会怎样?

what happens if one set id attribute values of several html tags, the same string?

我最近看到一个 html 页面,我认为几个 html 标签的 id 是相同的,然后我意识到这些 id 是唯一的,但它提出了可能发生的问题如果页面实际使用了多个标签

我听说每个 html 标签(如果有的话)的 id 属性必须是唯一的,

现在我想知道如果不是这样会怎样??

它可能导致什么错误?

不同的浏览器对这个问题有不同的反应吗?

javascript 和 jquery 代码在两个标签上使用重复的 ID 运行 还是什么?

尽快更改它们,以免将来出现许多令人头疼的问题。对于具有相同 属性 的元素,使用 classes

关于您的查询,

现在我想知道如果不是这样会怎样??
好吧,HTML 不再有效了。现在几天它并没有受到太大伤害,但仍然不是首选。

可能会导致哪些错误?
错误有点难以预测。但是 jQuery 你会得到很多。

不同浏览器对此问题的反应是否不同?
不确定。

是否 javascript 和 jquery 代码在两个标签上都使用了重复的 ID 运行 或者什么?
jQuery会给你带来麻烦。考虑这样一种情况,您有两个具有相同 ID 的输入字段。 然后你尝试 select 第二个而不注意。 jQuery('yourID').val() 而您将 select 取而代之的是第一个值。像这样就有很多的可能性。

如您所说,HTML id,根据规范,必须是唯一的。如果在哪里放置重复的 id,则 js 与这些 id 相关的行为将是不可预测的,甚至可能在两次调用之间发生变化。

任何对一个 id(jquery 或不是)的 js 调用都将指向其中一个 id,但不保证:

  1. 每次调用都一样
  2. 两次页面刷新顺序相同
  3. 它在 2 个不同的浏览器之间会有相同的行为
  4. 两次使用相同的浏览器时会有相同的行为

可能出现的问题取决于 js 代码与底层元素耦合的紧密程度 DOM 结构 anw 大多可能指向未定义的异常并停止 js 执行。

重复的 ID 会产生各种不同的效果。您的体验取决于您尝试访问它们的方法(也可能是从浏览器到浏览器)。

  • 你会影响他们所有人
  • 你会影响第一个
  • 你会影响最后一个
  • 您将得到一个集合而不是一个元素,尝试将其视为一个元素并得到一个错误

HTML 中不允许重复 ID。不要给自己找麻烦。使用 类 作为组,使用 id 作为唯一标识符。