在对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中?!
我有什么遗失的吗?
答案 0 :(得分:5)
是否允许在有效的HTML文档中具有两个(或更多)具有相同ID的元素,
没有
或者这是教程中的错误?
排序。
由于您只允许一个具有给定id的元素,因此在良好的文档中明确请求第一个元素是多余的。
当您有多个元素时,可能会有一些浏览器会以这种方式进行错误恢复,以便为您提供多个结果(特别是如果jQuery将内容传递到querySelectorAll
而不是getElementById
)具有相同的id(在无效的文档中),这可能会过滤掉后续的...但这不是你应该在自己的文档中做的事情。如果您正在编写JS以在已知的浏览器子集中运行第三方代码,并且您知道错误以这种方式恢复,那么这可能是合理的。