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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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 数组上的jQuery函数不工作_Javascript_Jquery - Fatal编程技术网

Javascript 数组上的jQuery函数不工作

Javascript 数组上的jQuery函数不工作,javascript,jquery,Javascript,Jquery,我对以下代码有问题 var elements = $(".myClasses"); elements[1].animate({something}, 1000); 如果我使用$(“.myClasses”).animate(…)它可以工作,但是如果我只从数组中选择一个元素,为什么它不工作呢 我想我可能不太理解关于对象或数组的规则。这是因为$(“.myClasses”)返回一个jQuery对象,当您作为数组访问它时,它只返回DOM节点而不是jQuery对象。如果要通过索引访问它们,只需使用:

我对以下代码有问题

var elements = $(".myClasses");
elements[1].animate({something},  1000);
如果我使用
$(“.myClasses”).animate(…)
它可以工作,但是如果我只从数组中选择一个元素,为什么它不工作呢

我想我可能不太理解关于对象或数组的规则。

这是因为
$(“.myClasses”)
返回一个jQuery对象,当您作为数组访问它时,它只返回DOM节点而不是jQuery对象。如果要通过索引访问它们,只需使用:

  • $(elements[1])
    ,它将DOM节点转换回jQuery对象,以便您可以对其应用jQuery方法,或者
  • $(“.myClasses”).eq(1)
    ,它将jQuery选择器匹配的一组元素减少为指定的零基索引处的单个元素
如果你想使用jquery函数,你必须强制转换一个jquery对象


$(元素[1]).animate(…

[0]
添加到jQuery对象数组将返回DOM元素而不是jQuery元素。因为
.animate()
是一种jQuery方法,它只能用于jQuery对象。您可能正在查找
$(.myClasses”).eq(1)
,这是与
[1]等价的jQuery
。这得到了正确的建议,但原因是错误的。使用
[]
从jQuery对象获取元素是完全正确的,但它们作为原始DOM节点返回。
$('.myClasses')[1]没有错。
@meagar谢谢,我已经更新了我的答案来反映这一点。OP当然可以转换
元素[1]
使用
$(元素[1])
创建jquery对象,这将起作用:)这不是我的典型操作方式。伙计们,非常感谢。我试了很多次,但我永远不会独自得出那个结论。再次感谢!这完全是对“演员阵容”一词的误用。这里没有演员。