2

为什么在 jquery 中通过 [0] 选择不适用于视觉效果?

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

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

提前致谢,

4

4 回答 4

2

.slideUp()是一个 jQuery 方法,将在一个 jQuery 对象上工作。

$("p").eq(0)产生一个 jQuery 对象,它有一个.slideUp()方法(所以它可以工作)。

$("p")[0]生成一个没有 . slideUp()方法(所以它不起作用)。

于 2012-07-20T06:30:04.100 回答
1

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

于 2012-07-20T06:28:59.200 回答
0

[0]并且eq(0)不等价。[0]抓取原始 DOM 元素,并将eq(0)集合减少到第一个匹配项。

于 2012-07-20T06:30:34.660 回答
0

$("p")[0].slideUp(); 给你元素不是jQuery 对象,所以 jQuery 方法在这里不起作用。

但,

$("p").eq(0).slideUp();在这里,eq(0)将第一个p作为jQuery 方法工作的jQuery 对象返回。

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

于 2012-07-20T06:30:47.173 回答