W3Schools jQuery测验

Spa*_*rky 7 jquery jquery-selectors

在W3Schools网站上发布了一个jQuery测验...

http://www.w3schools.com/quiztest/quiztest.asp?qtest=jQuery

问题#19如下,

查看以下jQuery选择器:$("div #intro .head").

它选择了什么?

A.在div ="intro"的任何div元素中id ="head"的第一个元素

B.在第一个div元素中具有class ="head"的所有元素,id ="intro"

C. id ="intro"或class ="head"的所有div元素

我选择答案B得到了正确的答案.

我的问题与答案B的措辞有关.

不应该从答案中删除"第一"这个词吗?

B.在div元素中具有class ="head"的所有元素,id ="intro"

ID被定义为" 元素的唯一标识符",因此不能真正理解为什么它们会引用" 带有id = intro 的第一个 div元素"

我不相信它故意试图变得棘手,因为这个测验中的所有其他问题都非常简单.

谢谢你的想法.


编辑:

我向W3Schools报告了这个错误并将它们引导到了这个主题.


编辑#2:

这是来自同一测验的另一个问题.

W3Schools的另一个有问题的jQuery Quiz答案

And*_*ker 15

你是对的,第一语言可以(应该)从所有选择中删除.

根据HTML 4.01规范:

此属性为元素指定名称.该名称在文档中必须是唯一的.

另外,根据id选择器的jQuery 文档:

选择具有给定id属性的单个元素

在引擎盖下,选择器使用document.getElementById("...").有趣的是,这个函数的规范说明:

如果多个元素具有此ID,则不会定义行为.

因此,假设您有两个相同的元素id,该函数的结果是不可预测的和特定于浏览器的.

旁注:W3Schools不被认为是学习JavaScript/jQuery的最佳场所之一.一个备受推崇的JavaScript替代品是MDC的JavaScript指南.对于jQuery,请查看教程页面.

  • 对W3Schools来说,这是一个不太理想的资源.如果你想谷歌的东西,你可以在你的查询中添加"-w3schools",以消除你的网站上的任何匹配结果.也许有一天它不会成为大多数查询的最佳结果之一. (8认同)
  • W3School很糟糕,它有助于学习基础知识,但最终它可以从用户那里赚钱,而不是像堆栈溢出一样. (3认同)