1

在快速回顾 jQuery 选择器时,我在 w3schools 中看到了这个页面

在“更多示例”表的第二行中,它显示:

$("p#intro:first")  | Selects the first <p> element with id="intro"

它说:id="intro" 的第一个元素但是 AFAIK 在有效的HTML 文档中只能有一个具有特定 id 的元素。

问题是:是否允许在有效的 HTML 文档中有两个(或更多)具有相同 id 的元素,或者这是教程中的错误?甚至在 jQuery 中?!

有什么我想念的吗?

4

1 回答 1

5

是否允许在有效的 HTML 文档中有两个(或更多)具有相同 id 的元素,

或者这是教程中的错误?

有点。

由于您只允许使用一个具有给定 id 的元素,因此显式请求第一个元素是多余的……在好的文档中。

当您有多个具有相同 id 的元素(在无效文档中)时,可能有一些浏览器会以这样的方式错误恢复,以便为您提供多个结果(特别是如果 jQuery 将事物传递给querySelectorAll而不是getElementById),这可能过滤掉后续的……但这不是您应该在自己的文档中做的事情。如果您正在编写 JS 以在已知的浏览器子集中运行第三方代码,并且您知道错误会以这种方式恢复,那么这可能是合理的。

于 2012-08-15T16:20:15.770 回答