在jquery中使用[0]和视觉效果

时间:2012-07-20 06:27:17

标签: jquery

为什么在jquery中选择[0]并不能用于视觉效果?

$("p")[0].slideUp(); /* it does not work*/
$("p").eq(0).slideUp(); /* it works */

如前所述,我知道还有其他方法可以选择第一个p,但我很想知道为什么上面提到的代码不起作用......

提前致谢,

4 个答案:

答案 0 :(得分:2)

.slideUp()是一个jQuery方法,可以处理jQuery对象。

$("p").eq(0)生成一个jQuery对象,该对象具有.slideUp()方法(因此它可以工作)。

$("p")[0]生成一个没有。slideUp()方法的DOM对象(因此它不起作用)。

答案 1 :(得分:1)

$("p")[0]将jQuery对象转换为原始Node元素,然后就不能在其上调用slideUp()之类的jQuery方法。但是eq(0)是一个jQuery方法,选择第一个p元素并返回一个jQuery对象。

答案 2 :(得分:0)

[0]eq(0)不等同。 [0]抓取原始DOM元素,eq(0)将集合缩减为第一个匹配。

答案 3 :(得分:0)

$("p")[0].slideUp();为您提供的元素不是 jQuery对象,因此jQuery方法在这里不起作用。

但是,

$("p").eq(0).slideUp();此处,eq(0)将第一个p作为 jQuery对象返回,jQuery方法可以在其中运行。

slideUp()是一个 jQuery方法,它仅适用于 jQuery对象而非原始节点元素。