jQuery选择器怎么会出现"first element with id=foo"?



在快速查看jQuery选择器时,我在w3schools中遇到了这个页面。

在"更多示例"表的第二行中,它说:

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

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

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

我错过了什么吗?

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

或者这是教程中的错误?

有点。

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

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

最新更新