2008-10-30 5 views
0

Je souhaite attacher un gestionnaire d'événements 'click' au premier enfant d'un élément avec l'ID 'foo' en utilisant jQuery. Je comprends que la syntaxe pour ce faire est:Gestionnaires d'événements jQuery

$('#foo:first-child').bind('click', function(event) { 
    // I want to access the first child here 
}) 

Dans le corps de gestionnaire, je veux accéder à l'élément qui a provoqué l'événement à tirer. J'ai lu quelque part que vous ne pouvez pas simplement y faire référence via 'ceci', alors comment puis-je y accéder?

Répondre

0

Il suffit d'utiliser "cette":

$('#foo:first-child').bind('click', function(event) { 
    alert(this === $('#foo:first-child')); // True 
    this.style.color = "red"; // First child now has red text. 
}) 
2
$(this).doStuff() 
2

Oublie ce que vous avez lu quelque part et aller de l'avant et d'utiliser le ce mot-clé:

$("#foo:first-child").click(function(event) { 
    $(this).css("background", "pink"); 
}); 
2

Juste pour ajouter à Greg's reply, une petite correction est que:

this === $('#foo:first-child') // returns false 
$(this) === $('#foo:first-child') // returns true 

this fait référence à l'élément HTML lui-même et $(this) le transforme simplement en élément jQuery.

Questions connexes