2011-04-22 24 views
8

我想学习jQuery,我在例子中遇到了这一行。

var $title = $(tag).attr('title'); 

有人可以告诉我在$title前面的$是什么。

如果我用title代替$title,该示例似乎工作正常。

我理解这可能是一个愚蠢的问题,但它是一个时间google搜索

非常感谢“的宗旨$”的浪费。

+3

这只是说它是一个jQuery对象,并且你不需要$()它再次以避免不必要的函数调用。 – 2011-04-22 09:34:39

+0

[为什么JavaScript变量会以美元符号开头?](http://stackoverflow.com/questions/205853/why-would-a-javascript-variable-start-with-a-dollar-sign) – 2014-05-27 11:25:33

回答

18

它并不意味着什么。 $字符是Javascript变量名称中的合法字符。

但是,有一个约定(不通用)使用$作为指向jQuery选择的任何变量的前缀。

你给的例子:

var $title = $(tag).attr('title'); 

这是一个不好的使用$字符的,根据本公约。 $title是一个字符串,而不是jQuery选择。

这将是一个正确使用的字符:

var $el = $(tag); 
var title = $el.attr('title'); 

否则,一个很大的原因$字符的流行是,它是在PHP强制性的,而且存在很大的重叠jQuery和PHP程序员之间。

+0

非常感谢所有那些足够回应的人。我现在完全理解。 – 2011-04-22 09:34:11

-3

符号'$'被映射到jQuery类。没有理由用'$'作为标题的前缀。

-2

没有用于$的目的,它就是这样命名的。 =)

+0

阅读上面,它解释了非通用惯例的意思,该变量是一个jQuery的选择 – 2013-12-02 16:36:35

-1

在javascript $没什么。这与标题(atitle)的a相同。这只是一个可以用于名称的符号。

1

我认为人们会将它用作'我用jQuery查找的东西,我不想再查找'的约定。

您最常看到的一个是var $this = $(this)

1

$是在JavaScript变量名的有效字符。它在你张贴的剪辑中没有区别。见this related answer

1

看起来像一个PHP开发人员有点累,并没有意识到他在一个javaScript代码块。

0

在JavaScript中,变量名不需要$。但是,要使用jQuery访问元素(通常是$),您需要('#selector_id')位上的$ - 即$('#selector_id')

这样做的目的是向程序员表明该变量是一个jQuery包装器对象。

相关问题