gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 05:00:00 25 4
gpt4 key购买 nike

访问数组时,什么时候使用.eq()函数比较合适?

例如,我有...

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

后来我有...

for(i=0; i<slidesLength-1; i++) {
$(slides[i]).css("left", "-100%");
}

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

最佳答案

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

虽然 jQuery 对象可能不是数组,但它们可以通过具有 length 属性以及与索引对应的属性来假装是。 (因为它们不是数组,所以不能对它们调用 .pop().forEach() 等方法。)

当您执行 slides[i] 时,您实际上得到的是 DOM 元素,而不是 jQuery 对象。 $() 函数将 DOM 元素转换为 jQuery 对象。

因此,当您执行 slides.eq(1) 时,jQuery 在内部执行 $(slides[i])

附言伪装成数组的对象,如 jQuery 对象,被称为“类数组对象”。如果你 console.log(slides),它可能看起来像一个数组。这只是您的控制台,试图为您提供便利。 (有关更多信息,请参阅此问题:Creating array-like objects in JavaScript)

关于javascript - Javascript 和 Jquery 中的 array.eq() 与 array[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34419756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com