W3Schools jQuery测验

| W3Schools网站上发布了一个jQuery测验... http://www.w3schools.com/quiztest/quiztest.asp?qtest=jQuery 问题19如下: 查看以下jQuery选择器:$(\“ div#intro .head \”)。 它选择什么? A.在所有class = \“ intro \”的div元素中,id = \“ head \”的第一个元素 B.第一个div元素中id = \“ intro \”内所有class = \“ head \”的元素 C.所有id = \“ intro \”或class = \“ head \”的div元素 通过选择答案B,我弄对了。 我的问题与答案B的措辞有关。 不应该从答案中删除“第一”一词吗? B. div元素中id = \“ intro \”内所有class = \“ head \”的元素 ID被定义为“元素的唯一标识符”,因此无法真正理解为什么它们会引用“ id = intro \的第一个div元素” 我不认为它是有意地变得棘手,因为本测验中的所有其他问题都非常简单。 谢谢你的想法。 编辑: 我将此错误报告给W3Schools,并将其定向到此线程。 编辑#2: 这是来自同一测验的另一个问题。 W3Schools另一个可疑的jQuery Quiz答案
已邀请:
没错,可以(应该)从所有选择中删除第一语言。 根据HTML 4.01规范: 此属性为 元件。此名称在一个名称中必须唯一 文献。 此外,根据jQuery文档的id选择器: 选择一个元素 给定id属性 在引擎盖下,选择器使用
document.getElementById(\"...\")
。有趣的是,此函数的规范指出: 如果行为超过 一个元素具有此ID。 因此,假设您确实有两个元素具有相同的“ 1”,则该函数的结果是不可预测的且特定于浏览器。 旁注:W3Schools不被视为学习JavaScript / jQuery的最佳场所之一。一个受人尊敬的JavaScript替代方法是MDC的JavaScript指南。对于jQuery,请查看教程页面。
实际上,如果多个元素具有此ID,则document.getElementById(\“ ... \”)的行为是不确定的。 但是,由于w3schools网站一直试图指出,在这种情况下jQuery的行为已得到明确定义。如果有多个具有此ID的元素,则将选择第一个。 没有人纵容具有一个特定ID的一个以上元素。这仍然违反规则。但是,与getElementById不同,如果违反此规则,jQuery会有特定的反应。

要回复问题请先登录注册