【发布时间】:2014-06-09 18:58:31
【问题描述】:
definitions from the DOM Standard 似乎几乎一模一样,我不明白其中的区别。
queryAll 和 querySelectorAll 有什么区别。
DOM 标准的求值逻辑如下,但我不够聪明,看不懂。
query & queryAll
要将相对选择器字符串 relativeSelectors 与集合匹配,请运行以下步骤:
让 s 是从 relativeSelectors 中针对 set 解析相对选择器的结果。 [选择器]
如果 s 失败,则抛出 JavaScript TypeError。
返回使用 :scope 元素集评估选择器 s 的结果。 [选择器]
query(relativeSelectors) 方法必须返回运行匹配相对选择器字符串relativeSelectors 与由上下文对象组成的集合的第一个结果,如果结果为空列表,则返回null。
queryAll(relativeSelectors) 方法必须返回一个 Elements 数组,该数组使用运行结果将相对选择器字符串 relativeSelectors 与由上下文对象组成的集合相匹配。
querySelector & querySelectorAll
要将选择器字符串选择器与节点进行范围匹配,请运行以下步骤:
让 s 成为解析选择器选择器的结果。 [选择器]
如果 s 失败,则抛出 JavaScript TypeError。
使用作用域根节点和作用域方法范围过滤,返回针对节点根计算选择器 s 的结果。 [选择器]。
querySelector(selectors) 方法必须返回针对上下文对象运行范围匹配选择器字符串选择器的第一个结果,如果结果为空列表,则返回 null。
querySelectorAll(selectors) 方法必须返回针对上下文对象运行范围匹配选择器字符串选择器的静态结果。
【问题讨论】:
标签: javascript dom selectors-api