在快速回顾 jQuery 选择器时,我遇到了 this page in w3schools .
在一些更多示例表中,第二行显示:
$("p#intro:first") | Selects the first <p> element with id="intro"
它说:第一个带有 id="intro"的元素。但据我所知,有效 HTML 文档中只能有一个具有特定 id 的元素。
问题是:在有效的 HTML 文档中是否允许有两个(或更多)具有相同 id 的元素,或者这是教程中的错误?或者甚至在 jQuery 中?!
我有什么遗漏吗?
最佳答案
Is it ever allowed to have two (or more) elements with the same id in a valid HTML document,
没有
or this is a mistake in the tutorial?
有点。
由于只允许使用一个给定 id 的元素,因此在好的文档中明确请求第一个元素是多余的。
可能有些浏览器会以这种方式进行错误恢复,以便为您提供多个结果(特别是如果 jQuery 将内容传递给 querySelectorAll
而不是 getElementById
)当您有多个具有相同 id 的元素(在无效文档中)时,这可能会过滤掉后续的元素……但这不是您应该在自己的文档中执行的操作。如果您正在编写 JS 来在已知的浏览器子集中运行第三方代码,并且您知道以这种方式恢复错误,那么这可能是合理的。
关于jquery - "first element with id=foo"的 jQuery 选择器是怎么来的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11973060/