W3Schools jQuery测验

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

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

问题#19如下,

Look at the following jQuery selector: $(“div#intro .head”).

What does it select?

A. The first element with id=”head” inside any div element with class=”intro”

B. All elements with class=”head” inside the first div element with id=”intro”

C. All div elements with id=”intro” or class=”head”

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

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

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

B. All elements with class=”head” inside the div element with id=”intro”

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

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

谢谢你的想法.

编辑:

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

编辑#2:

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

Another questionable jQuery Quiz answer at W3Schools

解决方法

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

根据HTML 4.01 Spec

This attribute assigns a name to an
element. This name must be unique in a
document.

另外,根据jQuery documentation for the id selector

Selects a single element with the
given id attribute

引擎盖下,选择器使用document.getElementById("...").有趣的是,the specification为此功能指出:

Behavior is not defined if more than
one element has this ID.

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

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

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...