2012-07-20 31 views
2

爲什麼在jquery中通過[0]選擇不適用於視覺效果?在jQuery中使用[0]與視覺效果

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

如前所述,我知道有一些其他的方式來選擇第一p,但我急切地想知道爲什麼上述代碼是不工作...

在此先感謝,

回答

2

.slideUp()是一個jQuery方法,將工作在一個jQuery對象。

$("p").eq(0)產生一個jQuery對象,它有一個.slideUp()方法(所以它的工作原理)。

$("p")[0]產生一個沒有a的DOM對象。 slideUp()方法(所以它不起作用)。

1

$("p")[0]將jQuery對象轉換爲原始Node元素,然後您無法調用其上的slideUp()等jQuery方法。但eq(0)是一個jQuery方法,選擇第一個p元素並返回一個jQuery對象。

0

[0]eq(0)不等價。 [0]抓取原始DOM元素,並且eq(0)將收集減少到第一個匹配。

0

$("p")[0].slideUp();給你的元素不是jQuery對象所以jQuery方法在這裏不起作用。

但是,

$("p").eq(0).slideUp();這裏,eq(0)返回第一個pjQuery對象上jQuery方法的工作原理。

slideUp()jQuery的方法僅上jQuery對象未在原始節點元素的作用。