在我们的项目中,当一个美元符号在Chrome控制台中使用$()与两个美元符号$$()时,有一个不同的功能,除了 $$()返回的已知差异数组$()返回第一个元素。
例如,特定元素的选择器,包含一美元和两美元查询:
$$(".my-class[my-attribute='trump']") //works
$('.my-class[my-attribute=sanders]') //works
$$('.my-class[my-attribute=trump]') //not work
这种行为的来源和解释是什么?
答案 0 :(得分:21)
来自Chrome Developer Tools documentation:
选择元素
有一些选择元素的快捷方式。与输入标准版本相比,这些可以节省宝贵的时间。
$()返回与指定的CSS选择器匹配的第一个元素。 它是document.querySelector()的快捷方式。
$$()返回一个数组 与指定的CSS选择器匹配的所有元素。这是个 document.querySelectorAll()的别名
$ x()返回一个数组 与指定的XPath匹配的元素。
当您使用querySelector
(或$
)时,结果是一个元素或null
。当您使用$$
时,结果不是元素,而是Array
,可以轻松迭代。这与原始querySelectorAll
不同,后者返回NodeList
,这有点难以覆盖所有条目。
关于引用:当然它的作用相同。参见:
结论:引用trump
是没用的。你可能也会疯了。