2011-12-28 9 views
13

ho alcuni codici HTML:Come rilevare l'id dell'elemento corrente in jQuery?

<input type="button" id="btn1" class="myButton" value="Button 1"/> 
<input type="button" id="btn2" class="myButton" value="Button 2"/> 

Ho bisogno di eseguire una funzione di jQuery ogni volta che l'utente clicca ciascun pulsante, e devo farlo utilizzando la loro classe.

$('.myButton').click(function() { 
    // do something 
}); 

Ma quello che dovrei fare, dipende dall'elemento corrente Id.

La mia domanda è: come posso rilevare quale elemento ha chiamato questa funzione? Devo sapere il suo id.

+1

possibile duplicato [Scarica l'id di una voce che si fa clic] (http://stackoverflow.com/questions/8159497/get-the-id -di-l'-articolo-che-è-cliccato) –

risposta

28

È possibile utilizzare this per accedere all'elemento corrente e quindi this.id fornirà il id dell'elemento corrente.

$('.myButton').click(function() { 
    alert(this.id); 
}); 
0

this nel gestore di eventi è l'elemento che è stato cliccato:

$('.myButton').click(function() { 

    if (this.id === "btn1") { 
     ... 
    }  

}); 
2

Guarda this. Si può semplicemente usare il metodo attr() per ottenere l'id dell'elemento cliccato mentre si associa una richiamata di clic a OGNI elemento con la classe .myButton.

+3

Si prega di aggiungere una spiegazione e il codice pure. Si prega di leggere http://stackoverflow.com/questions/how-to-answer - * Fornire contesto per i collegamenti * –

+0

Grazie andreapier. Il punto era $ (questo) ... Anche grazie a tutti gli altri amici. –

10

Se si desidera mantenere nel contesto jQuery, è possibile utilizzare questo frammento:

$('.myButton').click(function() { 
    alert($(this).attr('id')); 
}); 

Con questo modo si è un po 'più flessibile.

1

Con jQuery ho trovato questo lavoro:

$(this).prop('id') 
Problemi correlati