我正在尝试学习jQuery,我在一个例子中遇到了这一行。
var $title = $(tag).attr('title');
有人可以告诉我$title
中的前置$是什么。
如果我用$title
替换title
,该示例似乎工作正常。
我明白这可能是一个愚蠢的问题但是浪费时间在谷歌搜索“$的目的”
非常感谢。
答案 0 :(得分:18)
它并不意味着什么。 $
字符是Javascript变量名称中的合法字符。
但是,有一个约定(不是通用的)使用$
作为指向jQuery选择的任何变量的前缀。
您举例:
var $title = $(tag).attr('title');
根据这个惯例,这是对$
字符的错误使用。 $title
是一个字符串,而不是jQuery选择。
这将正确使用角色:
var $el = $(tag);
var title = $el.attr('title');
否则,$
字符普遍存在的一个重要原因是它在PHP中是强制性的,并且jQuery和PHP程序员之间存在很大的重叠。
答案 1 :(得分:1)
我认为人们将它用作'我用jQuery查找的东西的约定,我想要保留而不需要再查找'。
您经常看到的是var $this = $(this)
答案 2 :(得分:1)
$是javascript变量名中的有效字符。你发布的剪辑没有任何区别。请参阅this related answer。
答案 3 :(得分:1)
看起来PHP开发人员有点累,并没有意识到他在javaScript代码块中。
答案 4 :(得分:0)
在JavaScript中,您不需要在变量名称上使用$。但是,要使用jQuery(通常是$)访问元素,您需要('#selector_id')
位上的$ - 即$('#selector_id')
。
这样做的目的是向程序员表明变量是一个jQuery包装器对象。
答案 5 :(得分:-1)
在javascript $
中没什么。这与将a
添加到标题(atitle
)相同。它只是一个可用于名称的符号。
答案 6 :(得分:-2)
$没有任何目的,只是这样命名。 =)
答案 7 :(得分:-3)
符号'$'映射到jQuery类。没有理由在标题前加上'$'。