Diferencia entre $ (esto) y esto en jquery

¿Cuál es la diferencia fundamental entre usar $ (this) vs this

$('.viewComments').click(function(ev){ //returns the desired value alert(this.getAttribute('id')); //Gives an error sayin function is not defined alert($(this).getAttribute('id')); //returns the desired value alert($(this).attr('id')); }); 

Lo que pensé que era “$ (esto)” contendrá todas las funciones que “esto” tiene y más … Pero ese no parece ser el caso.

Entonces, ¿qué es exactamente $ (esto)? y

¿Cómo sé qué funciones están disponibles cuando lo estoy usando? (Sé que puedo atravesar Firebug, pero me gustaría saber si hay alguna otra forma, algún doc puede ser)

this es el objeto DOM, mientras que $(this) es el envoltorio jQuery alrededor del mismo.

Al usar this , puede llamar a los métodos DOM en él, pero no a los métodos jQuery. Cuando usa $(this) , puede llamar a los métodos jQuery, pero no a los métodos DOM.

$ (this) – representa el elemento DOM actual en cual evento se llama esta función

La palabra clave this : en JavaScript, esto siempre se refiere al “propietario” de la función que estamos ejecutando, o más bien, al objeto que una función es un método de.

En jQuery, esto se refiere al objeto DOM, y $(this ) se refiere al mismo objeto pero con los métodos jQuery agregados

no puedes llamar this.each() porque cada uno no es un método DOM, es un método jquery

puede llamar a $(this).each() porque $(this) devuelve un objeto jquery

Aquí hay dos artículos que pueden ser útiles:

¿Que es esto? por Mike Alsup

jQuery es esto: desmitificado por Remy Sharp

$ (este) es el objeto actual que se seleccionó utilizando un selector o evento jQuery adjunto al objeto.

así que si tiene $('#myelement').click(..... entonces $(this) refiere al elemento que se hizo clic para que $(this).hide() oculte ese elemento.

en jQuery, la notación $ () es una abreviatura del selector de jQuery, por lo que si dice $ (esto) le está pidiendo a jQuery que vuelva a seleccionar su objeto. Entonces usted tiene las funciones habituales de jQuery disponibles. “this” es el objeto seleccionado por la llamada jQuery externa.

$ (esto) es un objeto jQuery y puede usar el poder y la belleza de jQuery, pero con ‘esta’ palabra clave, uno necesita usar JavaScript nativo.