为什么在jquery中选择[0]并不能用于视觉效果?
$("p")[0].slideUp(); /* it does not work*/
$("p").eq(0).slideUp(); /* it works */
如前所述,我知道还有其他方法可以选择第一个p,但我很想知道为什么上面提到的代码不起作用......
提前致谢,
答案 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对象而非原始节点元素。