jQuery的$(选择器).eq(索引)和$(选择器)[index]是一样的吗?

Akh*_*ran 3 javascript jquery

所有这些方式有什么区别?

//1
$('div').eq(index) 

//2
$('div')[index] 

//3
$($('div')[index] )

//4
$('div').get(1)
Run Code Online (Sandbox Code Playgroud)

它们一样吗?

截图

Vis*_*ioN 6

没有.

所述第一第三返回jQuery对象,而第二所述返回DOM元素:

$("div").eq(index) === $($("div")[index]);  // --> jQuery object

$("div")[index] === $("div").get(index);    // --> DOM element
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读最后一个案例:http://api.jquery.com/get/.

如果您需要查看类型之间的差异,可以尝试在控制台中运行以下命令:

Object.prototype.toString.call($("div").eq(index)); // "[object Object]"
Object.prototype.toString.call($("div")[index]);    // "[object HTMLDivElement]"
Run Code Online (Sandbox Code Playgroud)