Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 美元(var)和var之间的区别是什么?_Javascript_Jquery_Jquery Selectors - Fatal编程技术网

Javascript 美元(var)和var之间的区别是什么?

Javascript 美元(var)和var之间的区别是什么?,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我的理解是,可以使用DOM元素作为jQuery选择器,例如$document。 那么为什么jQuery attr函数在这两种情况下都起作用呢 let v = $("#nodeID"); //First case $(v).attr("href","www1"); //works //Second case v.attr("href","www2"); //also works 区别是什么?当您将jQuery对象传递给$时,它将返回一个jQuery对象,其中包含与您传递的原始jQuery对象中相

我的理解是,可以使用DOM元素作为jQuery选择器,例如$document。 那么为什么jQuery attr函数在这两种情况下都起作用呢

let v = $("#nodeID");
//First case
$(v).attr("href","www1"); //works
//Second case
v.attr("href","www2"); //also works

区别是什么?

当您将jQuery对象传递给$时,它将返回一个jQuery对象,其中包含与您传递的原始jQuery对象中相同的元素。虽然对象不是==,但它们基本相同。您可以在$中嵌套任意多的jQuery对象,这不会有什么不同,只是做起来很奇怪

$$$'div'。文本为'foo';
有许多不同类型的值可以传递给jQuery函数。在这种情况下,您要传递的是文档中所说的:

挑选 类型:jQuery 要克隆的现有jQuery对象

所以你是在克隆var


在这种情况下,这是完全没有意义的。如果您要对值进行变异,但需要保留原始值以供其他地方使用,则该值可能会很有用。

两者都相同,在指定为引用时没有区别。@MurtazaHussain-您错了$v不会创建对v的引用或对同一对象的引用,因为v已经是对v的引用了,v已经是一个jquery对象了,所以你不需要再次$v,除非你想克隆它。用es:Good屏幕截图删除你删除的问题。这是用于创建您正在查看的对象的构造函数的名称。该名称表明您正在查看缩小代码的结果,但如果您在Chrome控制台中执行此操作,则可以看到相同的格式:function e{}new e;您将在输出中看到e{}。顺便说一句,在对这个问题的评论中,你似乎认为我否决了这个问题。我没有。通常情况下,发表评论的人并不是投反对票的人。@T.J.Crowder实际上这是一个缩小版,我在“开发工具”的“来源”中使用了“美化”。谢谢你,真的很有帮助。