jQuery中$符号的含义是什么?


123

$jQuery 中的符号代表什么?


您可以使标题更具描述性,而不只是看起来像几个类别标签
Michael Paulukonis 2009年

20
对于像我这样的jquery新手来说,这是一个很好的问题。我通过从互联网上剪切和粘贴将一些jquery页面拼凑在一起,这是我所从事的工作的第一个问题。
Mark Harrison

Answers:


138

jQuery对象:)

从jQuery文档中:

默认情况下,jQuery使用“ $”作为“ jQuery”的快捷方式

因此,使用$("#id")或jQuery("#id")相同。


嗨,@ Andrea我不知道我是否在问正确的问题,我是jQuery新手。我们可以用其他任何符号替换该$吗?如果可能的话,如何?
绿巨人2014年

@Hulk可以noConflit()用来替换它。
2015年

44

奇怪但正确,您可以在JavaScript中使用“ $”作为函数名称。它是jQuery()的简写。如果需要,可以使用哪个。如果另一个库已经在使用$,则可以在兼容模式下运行jQuery。只需使用jQuery.noConflict()。$通常在JS中用作选择器函数。

在jQuery中,$函数的作用远不止选择事物。

  1. 您可以将选择器传递给它,以从DOM中获取匹配元素的集合。
  2. 您可以向其传递一个函数,以在文档准备就绪时运行(类似于body.onload(),但效果更好)。
  3. 您可以将其传递为HTML字符串,以将其转换为DOM元素,然后将其注入文档中。
  4. 您可以向其传递一个DOM元素,或您要使用jQuery对象包装的元素。

这里是文档:https : //api.jquery.com/jQuery/


7
您知道,这确实应该是该问题的正确答案...我不敢相信所有这些开玩笑的答案都得到了赞成。
避免

1
同意reedvoid的评论。它反映了Java编程中的事务状态。这就是说,现在更精确的链接,回答问题是api.jquery.com/jQuery
阳光

如果$是一个函数,那么我们如何在其上调用方法noConflict()?如果$是对象而不是函数,那将是可能的。
特立独行

1
@ dk49在JavaScript中,函数也可以具有属性。试试这个:function Person(){}; Person.city ='Missoula'; console.log(Person.city)
Lance Fisher

有关更多证据,请尝试typeof $输出“功能”。;)
Lance Fisher

34

它是语法糖。它不仅特定于jQuery;还包括特定于jQuery的组件。其他图书馆也使用它。您可以在此处查找有关在JavaScript中使用美元符号的详细信息。


5
好吧,我喜欢语法糖这个词。对此表示感谢:)
拉维·多里亚

4
这个答案如何?由此我了解到,jQuery中的“ $”符号代表“语法糖”。链接的文章详细讨论了方式和原因,但未作简要回答。@andrea的下一个答案用三个词来完成这项工作。
lorenzog 2015年

我认为OP想要知道为什么选择$符号来代表图书馆,而不是真正意味着什么,这是显而易见的并已记录在案
Elzo Valugi

该链接不再起作用,您所说的链接详细说明了$
user734028'Mar

@ user734028我将链接更改为已缓存的链接,请立即检查
Elzo Valugi

30

如其他答案中所述,$是jQuery函数的快捷方式。

一些JavaScript库也使用$(例如:prototype)。为了避免与其他库冲突,jQuery提供了jQuery.noConflict()函数。调用此函数,$变量的控件将返回到第一个实现它的库。使用jQuery来执行此操作,就无法再使用$('div.someClass')来代替jQuery('div.someClass')。

或者可以这样做:

jQuery.noConflict();

jQuery.ready(function($) {
   // use $ for jQuery
}

//use $ for the other library

在编写插件以避免使用noConflict出现问题时,可以将jQuery传递给函数:

function($) {

//use $ writing your plugin

}(jQuery)



5

$是语法糖,就像@Elzo提到的那样。实际上,没有人回答您的问题。$是jQuery中的简写形式window.jQuery,因此您不必每次都键入它。





1

查看jQuery库文件。

//公开jQuery和$标识符。

if ( typeof noGlobal === strundefined ) {
    window.jQuery = window.$ = jQuery;
}

全局$指向jQuery。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.