在Javascript中,$$代表什么意思?

4

我正在查看一些 JavaScript 代码,其中一个函数有以下内容:

$$('.CssClass').each(function(x) { .... } )

我知道意图是将匿名函数应用于每个具有CssClass类的元素,但我不知道$$指的是什么...也无法通过Google搜索$$!更新:感谢提示。JavaScript来自iPhone外观库:jPint,其中包括prototypejs库,并定义$$为:
function $$() {
  return Selector.findChildElements(document, $A(arguments));
}
7个回答

15

嗯,抱歉修改了一下,我试图在链接中添加括号以使其工作,但我猜你已经尝试过了。哎呀。:( - Paolo Bergantino

8

$是一个普通的符号字符,因此"$","$$","$$$"都是普通的变量。

$的含义取决于所使用的库;在jQuery中,$函数可以从CSS选择器创建一个jquery对象,例如$("DIV")是当前文档中所有DIV的集合。


+1 是因为你解释了 $ 是一个变量,它取决于所使用的框架及其含义。 - Th 00 mÄ s

4

你是否在寻找像mootools这样的库?这些库通过访问DOM来简化对特定类型对象的操作。例如,它们可以使用$('myElement')来访问页面元素。


+1 因为你说得太对了,这很可能来自一个框架。而且我喜欢你的 Gravatar。 - UnkwnTech
我相信Prototype也有一个$$函数。 - ceejayoz
我在工作中使用mootools编写内部网络系统,这样的速记技巧非常方便。当我第一次看到它们时,我也感到困惑,认为它们是某种运算符。 - Kieran Senior

1

$ 是 JavaScript 中一个有效的函数名。因此,有些东西定义了一个函数 $$,它接受一个字符串,查找名为 .CssClass 的某个类,并返回一个对象,在该对象上调用 each

我知道 jQuery 定义了一个名为 $ 的函数,至少可以做类似的事情。


$ 作为一个函数名让我非常困惑,因为它不是通常与变量名相关联的字符,除了在 PHP 中可能作为前缀。 - Joe Z.

1

0

很可能是一个简写的函数名,用于处理指定参数的DOM访问,无论是标签名称还是对象ID。

根据上面所述,你很可能在使用MooTools或jQuery。


我怎么被投票踩了?那个答案和被选中的一样。$$是函数名! - jerebear

0
在浏览器控制台中,querySelectorAll() 有另一种书写方式。它可以简单地选取网页上所需的所有元素并将它们放入数组中。

实际示例:

选择所有元素并设置大纲指南以调试布局 [源代码]:

$$('*').map((A,B)=>A.style.outline=`1px solid hsl(${B*B},99%,50%`)

打印网页上所有图片的地址 [source]

$$('img').forEach(img => console.log(img.src))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接