我最近看到一个html页面,我认为几个html标签的id是相同的,然后我意识到id是唯一的,但它提出了一个问题,如果页面实际上使用了几个标签会发生什么
因为我听说过每个html标签的id属性(如果有的话)必须是唯一的,
现在我想知道如果不是这样的话会发生什么?
它可能导致什么错误?
不同的浏览器对此问题有不同的反应吗?
使用重复ID的javascript和jquery代码是在两个标签上运行还是什么?
答案 0 :(得分:1)
重复ID可以有各种不同的效果。您所经历的将取决于您尝试访问它们的方法(也可能从浏览器到浏览器)。
HTML中不允许使用重复的ID。不要为自己制造麻烦。使用组的类和id用于唯一标识符。
答案 1 :(得分:0)
尽快更改它们,以避免将来遇到很多麻烦。对于具有相同属性的元素,请使用 classes
关于您的疑问,
现在我想知道如果不是这样的话会发生什么?
好吧,HTML不再是有效的了。现在有一天,它并没有太大的伤害,但仍然不是首选。
可能导致哪些错误?
错误有点难以预测。但是使用jQuery,你会得到很多。
不同的浏览器对此问题有不同的反应吗?
不确定。
使用重复ID的javascript和jquery代码是在两个代码上运行还是什么?
jQuery会给你带来麻烦。考虑一种情况,您有两个具有相同ID的输入字段。
而你试着选择第二个没有注意到。 jQuery('yourID').val()
您将选择第一个值。像这样有很多可能性。
答案 2 :(得分:0)
正如您所说,HTML id,根据规格,必须是唯一的。如果放置重复的id,那么相对于那些id的js行为将是不可预测的,甚至可以在2次调用之间进行更改。
任何js调用一个id(jquery与否)将指向其中一个id但没有保证:
可能出现的问题取决于js代码如何直接耦合到底层元素DOM结构anw可能主要指向未定义的异常并停止执行js。