在Chrome控制台行为中双倍美元$$()与美元符号$()

Joh*_*nny 6 javascript google-chrome google-chrome-devtools

在我们的项目中,当一个美元符号在Chrome控制台中使用$()与两个美元符号$$()时,有一个不同的功能,除了已知的区别,$$()返回一个数组$()返回第一个元素.

例如,特定元素的选择器,包含一美元和两美元查询:

$$(".my-class[my-attribute='trump']") //works

$('.my-class[my-attribute=sanders]') //works

$$('.my-class[my-attribute=trump]') //not work
Run Code Online (Sandbox Code Playgroud)

这种行为的来源和解释是什么?

Den*_*ret 25

来自Chrome开发者工具文档:

选择元素

选择元素有一些快捷方式.与键入标准对应物相比,这可以节省宝贵的时间.

$()返回与指定的CSS选择器匹配的第一个元素.它是document.querySelector()的快捷方式.

$$()返回与指定的CSS选择器匹配的所有元素的数组.这是document.querySelectorAll()的别名

$ x()返回与指定的XPath匹配的元素数组.

当您使用querySelector(或$)时,结果是一个元素或null.使用时$$,结果不是元素,而是Array可以轻松迭代的元素.这与querySelectorAll它返回的本机不同,NodeList后者在所有条目上稍微有点难度.

关于引用:当然它的工作原理是一样的.看到:

在此输入图像描述

结论:引用是没用的trump.你可能也会疯了.

  • 引用王牌没用,这很有趣。已投票 (2认同)
  • 我在2017年在这里,可以确认特朗普确实没有用,请再次投票 (2认同)