Soy nuevo en jQuery y me pregunto cuál es la diferencia entre las funciones get() y eq() de jQuery. Puede que no entienda bien lo que hace la función get() , pero pensé que era extraño que no pudiera llamar a una función en el elemento devuelto en la misma línea.
//Doesn't work Ie $("h2").get(0).fadeIn("slow"); //Works $("h2").eq(0).fadeIn("slow");.get() y .eq() devuelven un solo "elemento" de una matriz de objetos jQuery, pero devuelven el elemento único en formas diferentes.
.eq() lo devuelve como un objeto jQuery, lo que significa que el elemento DOM está envuelto en el contenedor jQuery, lo que significa que acepta funciones jQuery.
.get() devuelve una matriz de elementos DOM sin procesar. Puede manipular cada uno de ellos accediendo a sus atributos e invocando sus funciones como lo haría en un elemento DOM sin formato. Pero pierde su identidad como un objeto envuelto en jQuery, por lo que una función jQuery como .fadeIn no funcionará.
get() devuelve un elemento DOM mientras que :eq() y eq() devuelven un elemento jQuery. Dado que los elementos DOM no tienen el método fadeIn() , falla .
Descripción: recupera los elementos DOM que coinciden con el objeto jQuery.
http://api.jquery.com/eq-selector/
Descripción: seleccione el elemento en el índice n dentro del conjunto coincidente.
get(0) (docs) devuelve el primer elemento DOM del conjunto.
eq(0) (docs) devuelve el primer elemento DOM del conjunto, envuelto en un objeto jQuery.
Por eso .fadeIn("slow"); no funciona cuando haces .get(0) . Un elemento DOM no tiene un método fadeIn() , pero un objeto jQuery sí.