Possible en double:
jQuery $(this) vs this
Lorsque vous utilisez jQuery, ce qui est la différence entre cela et $ (cela)?
Possible en double:
jQuery $(this) vs this
Lorsque vous utilisez jQuery, ce qui est la différence entre cela et $ (cela)?
Généralement, utilisez $ (this) lorsque vous voulez le suivre avec une autre fonction jquery pour un ensemble enveloppé. Utilisez ceci lorsque vous essayez d'accéder à un élément (tel que .name) à partir du DOM.
Un exemple de code I qui ajoute une autre ligne à une table, basée sur une ligne de modèle qui est ailleurs, cachée dans le formulaire et non visible. Le code ci-dessous utilise à la fois $ (this) et ceci, dans différents contextes.
{% comment %}
llforms_add_row('ir'): used to add a new row on a repeating form.
if rowtype is 'ir', looks for a <div id="ir_row_blankform"> and copies it
to the end of <div id="ir_rows">.
{% endcomment %}
function llforms_add_row(row_type) {
var new_row=$('#'+row_type+'_row_blankform').clone();
var rows_tag='#'+row_type+'_rows';
{# find the highest row number in use #}
var highest=1;
$(rows_tag).children().each(function(n){
var seq=$(this).attr('rownum')*1;
if (seq > highest) highest=seq;
});
highest += 1;
{# massage the new row into what we need #}
var new_id=highest.toString();{# Just the numeric part of the id #}
var new_row_id=row_type+'_row_'+new_id;{# The full DOM id #}
new_row.attr('style',"display:none");{# We will fade it in, so start it invisible #}
new_row.attr('id',new_row_id);
new_row.attr('rownum',new_id);
$('input', new_row).each(function(n){
this.name=this.name.substring(0,this.name.length-9)+new_id;
this.id=this.name;
});
$('a', new_row).each(function(n) {
this.href=this.href.replace('blankform',new_id);
});
new_row.appendTo(rows_tag);
$('#'+new_row_id).slideDown('fast',function(){
$('input:first', new_row).focus();
});
}
$(this)
est le contexte de l'élément sur lequel vous travaillez ou celui qui obtient l'événement.
$('#MyElement').click(function(){ $(this).doSomething })
au-dessus des $(this)
à l'élément référés qui a un id de MyElement
et qui a été cliqué.
this
est simplement l'objet javascript normal.
this
est d'appeler des méthodes DOM.
$(this)
consiste à appeler les méthodes jQuery.
en double de http://stackoverflow.com/questions/1051782/jquery-this-vs-this – RPM1984
http://stackoverflow.com/questions/1051782/jquery-this-vs-this/3714581#3714581 – Reigel