$和$$有什么区别?

17
我一直在学习jQuery功能。
请问有人能给我一些关于使用$$$ 的区别的想法吗?

6
请问您能提供相关代码吗? - Felipe Oriani
1
你能提供一些关于 $$$ 在 jQuery 中使用的例子吗? - TLS
1
$$对于jQuery没有任何意义;它的使用是由编写你正在查看的内容的人做出的任意决定。 - Alex K.
2
我认为你可能混淆了jQuery和Mootools。Mootools确实使用$$选择器。 - jValdron
你确定你没有看Prototype库吗?http://api.prototypejs.org/dom/dollar-dollar/ - Kevin Bowersox
显示剩余2条评论
7个回答

19

$$$在Google Chrome、Firefox和Safari浏览器的任何网页上都可以使用(即使未包含jQuery),其中$返回传递选择器的第一个元素。

这里,

$是document.querySelector

$$是document.querySelectorAll

它们是Google Chrome和Firefox浏览器的本地函数,您也可以在Safari中看到$$$的定义。

在Google Chrome、Firefox或Safari中打开Google,并打开开发者工具来检查这些结果...(为什么要用Google,因为他们不会使用jQuery或Moo工具)

$('div');  // returns first DIV in DOM
$$('div'); // returns all DIVs in DOM

这里输入图片描述


8
在jQuery文档中没有$$语句。jQuery有一个默认选择器,使用$字符。也许这个脚本使用了另一个JavaScript包,并且与jQuery发生了一些冲突。在这种情况下,您可以使用jquery.NoConflict来避免这种问题,并设置另一个jQuery选择器。
类似于:
var s = jQuery.noConflict();

// something with new jQuery selector
s("div p").hide();

// something with another library using $()
$("content").style.display = 'none';

如果您的代码中有以下内容以避免冲突:var $$ = jquery.noConfict();,则可以使用$$作为jquery选择器:
$$("#element").method();

更多内容请参阅文档: http://api.jquery.com/jQuery.noConflict/


5

jQuery 是由 jQuery 提供的对象。而 $ 则是另一个对象,只是 jQuery 的别名。

$$ 不是由 jQuery 提供的,它由其他库(如 Mootools 或 Prototype.js)提供。

更重要的是,在现代浏览器的控制台中,$$ 也作为 document.querySelectorAll 的别名提供。除非被其他库覆盖。同样地,$ 也作为 document.querySelector 的别名提供。

有关更多信息,请参见此回答


1

$ 和 $$ 是 mootools 选择器,而 $ 也是 jquery 选择器。

请参见 jQuery 的 noconflict 模式。


1
简短回答:$$在jQuery规范中没有定义,此外单个$( )符号的表示法意味着您将事物封装在括号内以创建一个jQuery对象。
因此,别名$是一种缩写方式,表示我正在使用jQuery库,而双重$$在标准的jQuery库中没有定义。

1
所有的jQuery功能都封装在jQuery对象中,也可以通过$访问。你正在查看的代码可能使用了不同的库(例如Mootools),该库使用$$函数。

1

$$在Jquery中没有太大的意义,但它在原型框架中被使用。

Prototype $$

同时,请确认这不是使用noConflict分配的旧版本Jquery。

搜索代码中的var $$以查找可能分配的旧版本jquery。

var $$ = jquery.noConfict();

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