我正在为一个学校项目工作,我在网上看到了一些示例解决方案,我可以理解大多数代码,但我不确定这行的用途。
var $newTweet = $('<div class=tweet></div>');
我假设它使用tweet类创建了一个jQuery变量,其值设置为空白<div>
,但我想确定并理解语法。
为什么在可变值之前加一个美元符号?我知道jQuery中使用美元符号,并且理解为什么在newTweet
(变量名)之前加一个美元符号,但我不明白为什么它在变量值之前。
为什么$()
的内部用引号引起来?
答案 0 :(得分:4)
The $
character is a shorthand for using jQuery,因此$('<div class=tweet></div>');
调用jQuery库以创建一个新的HTML元素并将其放入jQuery包装器中,以便您可以轻松地与之交互。
另一方面,从语言角度来看,var $newTweet
实际上并不特殊:$
是变量名中包含的有效字符。但是,这是告诉其他程序员该变量包含jQuery对象的一种常用方法,因此他们可以使用jQuery API与之交互。这是Hungarian Notation的一种变体,您在其中将变量hold的类型放入变量的名称中。
答案 1 :(得分:3)
好,这是细分:
在该值之前加一个美元符号是因为它是一个函数-它是jQuery函数。 ($()
)
它在变量值之前,因为它需要-将变量值设置为函数的返回值-在这种情况下,将创建新元素。
jQuery $
函数的内部用引号引起来,因为如果不是,则假定它引用的是称为 <div class=tweet></div>
的变量-除了是无效的变量名,它不存在,因此将引发错误。这就是使用字符串的原因。
以下是该元素的实际外观:
var $newTweet = $("<div class=tweet></div>");
console.log($newTweet[0]);
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
(上面的[0]
仅用于显示普通元素-否则会有大量其他内容)。