con*_*att 96 jquery jquery-selectors
我是jQuery的新手,我想知道jQuery get()和eq()函数之间的区别.我可能会误解get()函数的作用,但我觉得奇怪的是我无法在同一行中返回的元素上返回一个函数.
//Doesn't work
I.e. $("h2").get(0).fadeIn("slow");
//Works
$("h2").eq(0).fadeIn("slow");
Run Code Online (Sandbox Code Playgroud)
hun*_*ter 16
get()返回一个DOM元素,:eq()然后eq()返回一个jQuery元素.由于DOM元素没有方法,fadeIn()因此失败.
描述:检索jQuery对象匹配的DOM元素.
http://api.jquery.com/eq-selector/
描述:选择匹配集中索引n处的元素.
use*_*716 12
get(0)(docs) 返回集合中的第一个DOM元素.
eq(0)(docs) 返回集合中的第一个DOM元素,包装在jQuery对象中.
这就是为什么.fadeIn("slow");当你这样做时不起作用的原因.get(0).DOM元素没有fadeIn()方法,但jQuery对象有.
建立其他答案:
$('h2').get(0) === $('h2').eq(0)[0] //true
$( $('h2').get(0) ) === $('h2').eq(0) //true
Run Code Online (Sandbox Code Playgroud)
eq(i)检索接收者集合中的第i个成员作为jQuery对象,同时get(i)返回第i个位置的成员作为DOM元素.
这不起作用的原因:
$("h2").get(0).fadeIn("slow");
Run Code Online (Sandbox Code Playgroud)
是因为h2DOM元素没有调用的方法fadeIn.
你应该eq(0)在这里使用.