Actualmente estoy trabajando en este tutorial: Getting Started with jQuery
Para los dos ejemplos siguientes:
$("#orderedlist").find("li").each(function (i) {
$(this).append(" BAM! " + i);
});
$("#reset").click(function () {
$("form").each(function () {
this.reset();
});
});
Fíjate que en el primer ejemplo, usamos $(this)
para añadir algo de texto dentro de cada elemento li
. En el segundo ejemplo usamos this
directamente al reiniciar el formulario.
Parece que $(this)
se utiliza mucho más a menudo que this
.
Supongo que en el primer ejemplo, $()
está convirtiendo cada elemento li
en un objeto jQuery que entiende la función append()
mientras que en el segundo ejemplo reset()
puede ser llamado directamente en el formulario.
Básicamente necesitamos $()
para funciones especiales de jQuery.
¿Es esto correcto?
Sí, sólo se necesita $()
cuando se utiliza jQuery. Si quieres la ayuda de jQuery's para hacer cosas del DOM sólo tienes que tener esto en cuenta.
$(this)[0] === this
Básicamente cada vez que recuperas un conjunto de elementos jQuery lo convierte en un objeto jQuery. Si sabes que sólo tienes un resultado, va a estar en el primer elemento.
$("#myDiv")[0] === document.getElementById("myDiv");
Y así sucesivamente...