¿Cuál es la diferencia entre $(this)
y this
en jQuery, y por qué a veces dan el mismo resultado y otras veces se comportan de manera diferente?
Respuesta
$(this)
envuelve this
con la funcionalidad jQuery.
Por ejemplo, este código podría fallar:
$('.someDiv').onClick(function(){
// this refers to the DOM element so the following line would fail
this.fadeOut(100);
});
Así que envuelven this
en jQuery:
$('.someDiv').onClick(function(){
// wrap this in jQuery so we can use jQuery fadeOut
$(this).fadeOut(100);
});
Si en su contexto actual si el this
no es un objeto jQuery, puede hacer es un elemento jQuery al envolverlo alrededor de $()
. Cuando su elemento ya es un resultado de la expresión jQuery, el this
en ese caso ya es un objeto jQuery. Entonces, en ese caso, ambos funcionan de manera similar
$(this)
decora cualquier objeto this
puntos con las funciones jQuery. El caso de uso típico es para this
para hacer referencia a un elemento DOM (por ejemplo, un <div>
). Luego, escribir $(this)
le permite usar todas las funciones de API de jQuery en ese <div>
.
Si this
ya se refiere a un objeto jQuery, normalmente un objeto DOM decorado con jQuery, entonces llamar al $(this)
no tendrá ningún efecto porque ya está decorado.
this
es una variable de javascript creada siempre que se encuentre dentro de una función que está unida a un objeto. En estos casos, this
se refiere a ese objeto.
$(this)
devuelve un objeto jQuery al que puede llamar funciones jQuery, pero se aplicará solo a this
.
Por ejemplo, si se establece un controlador de clic para todos los anclajes:
$('a').click(function() {
console.log(this.href) ;
}) ;
entonces el this
, se refiere al anclaje, que el evento click (función) está conectada.
que comprenda un poco mejor, se consigue un depurador de somekind como Google Chrome y hacer esto ..
$('a').click(function(){
console.log(this); //DO
console.log($(this)); //JO
});
esto le mostrará cuál es la diferencia :)
En JavaScript esto siempre se refiere al "propietario" de la función que se está ejecutando. Al usar $ (esto) solo se ajustará el propietario para que todas las operaciones de jQuery se extiendan y estén disponibles.
considerar:
$links = $('#content a');
$links.click(function() {
link = this;
$link = $(this); //jQuery wrapped object.
alert(link.getAttribute('href'));
alert($link.attr('href')); //we can use the attr() function from jQuery
});
suelen dar los mismos resultados ya que el propietario es el mismo, sólo que cuando se envuelve por jQuery que puede operar con las funciones de jQuery.
$ (esto) == esto? interesante.
esto no debe pasar por el evento DOM.
- 1. Diferencia entre $ (este) y esto en jQuery
- 2. ¿Cuál es la diferencia entre esto y Activity.this
- 3. ¿Cuál es la diferencia entre: $ .html (this.el) y esto $ el.html
- 4. ¿Cuál es la diferencia entre $ (este) y esto
- 5. Diferencia entre esto y la base
- 6. $ (esto) vs esto en jQuery
- 7. ¿Hay una diferencia entre $ (e.currentTarget) y $ (esto)?
- 8. Cuál es la diferencia entre $ y jQuery
- 9. Diferencia entre interceptores y filtros: ¿es esto correcto?
- 10. ¿Cuál es la diferencia entre usar var y esto, en Javascript?
- 11. ¿Cuál es la diferencia entre sincronizado en lockObject y usando esto como el bloqueo?
- 12. en jQuery ¿cuál es la diferencia entre $ .myFunction y $ .fn.myFunction?
- 13. ¿Cuál es la diferencia entre jquery y jquery UI?
- 14. Diferencia entre var y esto en las funciones de Javascript?
- 15. ¿Cuál es la diferencia entre $ .map y $ .grep en jQuery
- 16. ¿Cuál es la diferencia entre get() y eq() en jquery?
- 17. ¿Cuál es la diferencia entre JSON y AJAX con jQuery?
- 18. jQuery: ¿Cuál es la diferencia entre '$ (this)' y 'this'?
- 19. Diferencia b/n Objetivo C y C++ es esto?
- 20. ¿qué significa esto: "jQuery ('> li', esto)"
- 21. ¿Cuándo es (esto! = Esto) en C++?
- 22. determinando $ (esto) en jquery
- 23. ¿Cuál es la diferencia entre dict() y {}?
- 24. Cuál es la diferencia entre jQuery .live() y .on()
- 25. Cuál es la diferencia entre = y: =
- 26. ¿Cuál es la diferencia entre jQuery .val() y .attr ('value')?
- 27. ¿Cuál es la diferencia entre $ .add y $ .append JQuery
- 28. ¿Cuál es la diferencia entre AJAX con JavaScript y jQuery?
- 29. ¿Es posible seleccionar $ (esto) Y usar selectores en jQuery
- 30. MySQL Query - No es igual a esto y esto
¿Cuándo "* dan el mismo resultado *"? –