如何在jQuery中声明变量

时间:2019-03-30 08:30:59

标签: javascript jquery html css

我正在为一个学校项目工作,我在网上看到了一些示例解决方案,我可以理解大多数代码,但我不确定这行的用途。

var $newTweet = $('<div class=tweet></div>');

我假设它使用tweet类创建了一个jQuery变量,其值设置为空白<div>,但我想确定并理解语法。

为什么在可变值之前加一个美元符号?我知道jQuery中使用美元符号,并且理解为什么在newTweet(变量名)之前加一个美元符号,但我不明白为什么它在变量值之前。

为什么$()的内部用引号引起来?

2 个答案:

答案 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]仅用于显示普通元素-否则会有大量其他内容)。