Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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
Jquery 如何将元素分配给变量?_Jquery_Variables_Reference - Fatal编程技术网

Jquery 如何将元素分配给变量?

Jquery 如何将元素分配给变量?,jquery,variables,reference,Jquery,Variables,Reference,例如: 我想创建元素数组的快捷方式 var $artifacts = $('.game-artifact'); 但是没有任何元素具有这样的类。然后是一些添加元素的代码。问题是,在我添加这些元素之后,变量$artifacts是否仍然引用它们,或者它将保持空值?如果是这样,我如何将函数引用分配给变量?它将保持为空。添加元素后,可以更新引用: // add elements artifacts = $('.game-artifact'); var artifacts = function(){

例如: 我想创建元素数组的快捷方式

var $artifacts = $('.game-artifact');

但是没有任何元素具有这样的类。然后是一些添加元素的代码。问题是,在我添加这些元素之后,变量$artifacts是否仍然引用它们,或者它将保持空值?如果是这样,我如何将函数引用分配给变量?

它将保持为空。添加元素后,可以更新引用:

// add elements
artifacts = $('.game-artifact');
var artifacts = function(){
  return $('.game-artifact');
};

var $artifacts = artifacts();

请看。

您可以使用返回当前元素的函数来包装它:

// add elements
artifacts = $('.game-artifact');
var artifacts = function(){
  return $('.game-artifact');
};

var $artifacts = artifacts();
您应该在直接访问数组时使用.get(),以避免越界错误

var list=$(“body li”);
console.log(lists.length);//返回20
console.log(lists.get(25));//返回未定义的。

console.log(列表[25]);//生成一个错误。
那么我必须手动更新每个引用,还是有什么神奇的方法可以做到这一点?类似C++中的引用(A& = B),我不知道如何“提前”。由于您可以在任意点(例如通过异步ajax调用)动态添加元素,因此在variable declaration.FWIW时,
$artifacts
首先不会为
null
。空jQuery对象仍然是对象,而不是
null
。您要寻找的是对象绑定。就像这里经常说的,$artifact将保持为空,直到您使用新值重新对其进行签名。下面是该行为的演示:您真的为每个查询定义了一个函数吗?@undefined不,我没有。这是一个反模式。如果
artifacts
是对象的公共方法,那么它将更有意义。