当前位置:  开发笔记 > 编程语言 > 正文

在Javascript和Jquery中的array.eq()与array []

如何解决《在Javascript和Jquery中的array.eq()与array[]》经验,为你挑选了2个好方法。

访问数组时,何时使用.eq()函数是否合适?

例如,我有......

slides.eq(slidesLength-1).css("z-index", (slidesLength-1));

后来我......

for(i=0; i

在第一段代码中,如果我不使用.eq()函数,幻灯片放映将停止运行.但是,无论我是否使用.eq()函数,第二部分似乎都起作用.为什么是这样?



1> Rocket Hazma..:

slides不是一个数组.这是一个jQuery对象.该.eq()方法将指定索引处的元素作为jQuery对象返回.

虽然jQuery对象可能不是数组,但它们可以假装具有length属性以及与索引对应的属性.(因为他们不是数组,你不能说类似方法.pop(),.forEach()等他们.)

当你这样做时slides[i],你实际上是获取DOM元素,而不是jQuery对象.该$()函数将DOM元素转换为jQuery对象.

所以,当你这样做时slides.eq(1),内部jQuery正在做$(slides[i]).

假装是数组的PS对象,如jQuery对象,被称为"类数组对象".如果你console.log(slides),它可能看起来像一个数组.这只是您的控制台,试图让您方便.(有关更多信息,请参阅此问题:在JavaScript中创建类似数组的对象)



2> T J..:

.eq()是一个返回jQuery对象的jQuery方法,而通过index访问则返回plain DOM元素.eq()当你想css()在返回的选择上使用jQuery方法(在本例中)时,你应该使用它.

原因之所以$(slides[i])有效是因为您通过将plain元素传递给$()构造函数来构造jQuery对象.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有