jQuery选择器如何用于“id = foo的第一个元素”?

时间:2012-08-15 16:18:57

标签: jquery html jquery-selectors

在对jQuery选择器进行快速审核时,我遇到了this page in w3schools

Some More Examples 表中,第二行是:

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

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

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

我有什么遗失的吗?

1 个答案:

答案 0 :(得分:5)

  

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

没有

  

或者这是教程中的错误?

排序。

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

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