首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery : eq() vs get()

jQuery : eq() vs get()
EN

Stack Overflow用户
提问于 2011-01-17 11:04:51
回答 5查看 49.1K关注 0票数 101

我是个新手,我想知道jQuery的get()函数和eq()函数有什么不同。我可能误解了get()函数的作用,但我觉得奇怪的是,我不能在同一行返回的元素上调用函数。

代码语言:javascript
复制
//Doesn't work
I.e.  $("h2").get(0).fadeIn("slow");

//Works
$("h2").eq(0).fadeIn("slow");
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-01-17 11:09:11

.get().eq()都从jQuery对象数组返回单个“元素”,但它们以不同的形式返回单个元素。

.eq()将其作为jQuery对象返回,这意味着DOM元素被包装在jQuery包装器中,这意味着它接受jQuery函数。

.get()返回原始DOM元素的数组。您可以像处理原始DOM元素一样,通过访问它们的属性并调用它们的函数来操作它们。但是它失去了作为jQuery包装的对象的身份,因此像.fadeIn这样的jQuery函数将无法工作。

票数 198
EN

Stack Overflow用户

发布于 2011-01-17 11:52:18

在其他答案的基础上:

代码语言:javascript
复制
$('h2').get(0) === $('h2').eq(0)[0]  //true
$( $('h2').get(0) ) === $('h2').eq(0)  //true
票数 6
EN

Stack Overflow用户

发布于 2011-01-17 11:07:29

eq(i)jQuery对象的形式检索接收者集合中的第i个成员,而get(i)以DOM元素的形式返回第i个位置的成员。

这不起作用的原因是:

代码语言:javascript
复制
$("h2").get(0).fadeIn("slow");

是因为h2 DOM元素没有一个名为fadeIn的方法。

您应该在这里使用eq(0)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4709660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档