jquery变量vs $(jquery varibale),两者的区别是什么

时间:2017-06-13 13:05:41

标签: javascript jquery

当我这样做时:

var x = $("#listing")

我找回了标识为listing

的html元素

当我$(x)$($("#listing"))时,我也会这样做。

b / w两个有什么不同?

3 个答案:

答案 0 :(得分:3)

$()会将某些内容转换为jQuery object(或集合)。这与Javascript变量不同。

当您将#listing存储在var x = '#listing'之类的变量中时,您只需将字符串传递给jQuery构造函数,然后由Sizzle,jQuery&#39将其解释为选择器。 ; s选择器引擎。

在提供的示例中,以下两行之间没有区别:

var x = $('#listing');

var x = '#listing',
    $x = $(x);

在第一个代码段中,x与第二个代码段中的$x相同。

为了完整性,jQuery构造函数也可以接受混合类型变量作为其第一个参数;它不一定是一个字符串。例如,可以使用以下语法将DOMElement变量转换为jQuery对象:

var ele = document.getElementById('myItem'),
    $ele = $(ele);

请注意,$ele现在可以访问jQuery自己的功能,例如addClass()等。请参阅this demo

此外,将jQuery对象传递给构造函数只会返回相同的jQuery对象。例如,给出以下代码段:

var $x  = $('#listing'),
    $x2 = $( $x );

$x$x2相同。

答案 1 :(得分:0)

一旦找到宿舍项目,你的x变量就成了一个jQuery对象。

运行var x = $('#listing'); x包含它的所有内容。

因此,您可以运行x.addClass(' thing')

答案 2 :(得分:0)

添加$是创建jQuery对象,它不是普通变量。您可以从DOM元素,另一个jQuery对象或普通的javascript变量创建jQuery对象。尝试运行<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> console.log(x),它会告诉您所有差异。