$和$$有什么区别?
我一直在经历一些jQueryfunction。
请问任何人可以告诉我使用$
和$$
之间的区别是什么?
在jQuery文档中没有$$
语句。 jQuery有一个带$
字符的默认选择器。 也许这个脚本使用另一个javascript库并且与jQuery有一些冲突。 在这种情况下,您可以使用jquery.NoConflict
来避免此类问题,并设置另一个jquery选择器。
就像是:
var s = jQuery.noConflict(); // something with new jQuery selector s("div p").hide(); // something with another library's using $() $("content").style.display = 'none';
如果你的代码有一些想要避免冲突的东西: var $$ = jquery.noConfict();
,你可以使用$$作为jquery选择器: $$("#element").method();
有关文档的更多信息,请访问: http : //api.jquery.com/jQuery.noConflict/
$
和$$
将在chrome,FF和safari浏览器上的任何网页上工作(如果还没有包含jQuery),其中$
返回选择器传递的第一个元素,这里$
是document.querySelector
,而$$
返回元素数组,如document.querySelectorAll
。 它们是chrome和Firefox浏览器的原生function,你可以在safari中看到$
和$$
定义。
在任何chrome,firefox或safari中打开Wordpress ,并打开开发人员控制台来检查这些结果……(为什么是wordpress,因为他们不会使用jQuery或Moo工具)
$('div') returns first div in DOM $$('div') returns all div in DOM
你可以在这里查看
jQuery
是jQuery提供的对象。 $
是另一个,它只是jQuery
的别名。
$$
不是由jQuery提供的。 它由其他库提供,例如Mootools或Prototype.js。
更重要的是, $$
也作为document.querySelectorAll
的别名在现代浏览器的控制台中提供。 除非它被另一个图书馆覆盖。 $
也以相同的方式提供,作为document.querySelector
的别名。
有关更多信息,请参阅此答案 。
看看jQuery源代码 ,它没有定义$$
。 $$
不是jQuery的一部分,你必须把它与其他东西混淆。
$ AND $$是mootools选择器,$也是jquery选择器。
请参阅jquery noconflict-mode
所有jQueryfunction都封装在jQuery
对象中,该对象也可以作为$
访问。 您正在检查的代码可能正在使用不同的库(例如Mootools),它使用$$
函数。
$$在Jquery中没有重要意义,但它在原型框架中使用。
原型$$
还要检查这不是使用noConflict
分配的以前版本的Jquery。
搜索var $$
的代码以查找旧的jquery版本的可能分配。
var $$ = jquery.noConfict();
Short Anser: $$
没有在jQuery规范中定义,另外单个$( )
– 符号的表示法意味着你将括号中的东西封装到jQuery对象中。
因此,别名$
是一个缩写 – 我使用的是jQuery库,其中double $$
没有在标准的jQuery库中定义。