15

我一直在使用一些 jQuery 功能。

$任何人都可以给我一些想法和使用之间的区别$$吗?

4

7 回答 7

14

$并且$$可以在谷歌 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

在此处输入图像描述

于 2012-12-19T05:08:40.397 回答
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/

于 2012-12-18T12:41:46.223 回答
4

jQuery是 jQuery 提供的对象。$是另一个,它只是jQuery.

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

更重要的$$是,现代浏览器的控制台中也提供了document.querySelectorAll. 除非它被另一个库覆盖。$也以相同的方式提供,作为 . 的别名document.querySelector

有关更多信息,请参阅此答案

于 2012-12-18T12:48:23.287 回答
1

$ AND $$ 是 mootools 选择器,$ 也是 jquery 选择器。

见 jquery noconflict-mode

于 2012-12-18T12:39:13.320 回答
1

Short Anser: $$在 jQuery 规范中没有定义,此外,单$( )号符号表示您将括号内的内容封装到 jQuery 对象中。

因此,别名$是一个缩写词——我使用的是 jQuery 库,而$$标准 jQuery 库中没有定义双精度。

于 2012-12-18T12:41:43.387 回答
1

所有 jQuery 功能都封装在jQuery对象中,该对象也可以作为$. 您正在检查的代码可能正在使用使用函数的不同库(例如 Mootools)$$

于 2012-12-18T12:43:48.793 回答
1

$$ 在 Jquery 中没有意义,但是它在原型框架中使用。

原型 $$

还要检查这不是使用noConflict.

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

var $$ = jquery.noConfict();
于 2012-12-18T12:44:23.863 回答