2011-11-18 14 views
10

Sto creando dinamicamente alcuni elementi e quindi riempiendo le loro proprietà innerHTML con il testo. Sto cercando di impostare i loro onclick gestori di eventi come questo:Javascript: impostazione onclick in modo dinamico e passaggio nell'elemento stesso

myDiv.onclick = function() { alert("Hello!") }; 

che posso fare. Quello che mi piacerebbe fare è essere in grado di accedere al valore/innerHTML (nuovo a Javascript e DOM, quindi non sono sicuro di quale sia il termine che sto cercando) all'interno della funzione onclick appena definita. Come faccio ad accedere ai dati di myDiv all'interno della funzione che viene definita per la sua proprietà onclick? myDiv sarà qualcosa di semplice come:

<div>StackOverflow</div> 

Qualsiasi aiuto sarebbe molto apprezzato!

+1

"Contenuti" è il termine corretto che penso. –

risposta

15

Il gestore onclick viene eseguito nel contesto dell'elemento.

myDiv.onclick = function() { alert(this.innerHTML); }; 
+0

Doh! Questa deve essere stata l'unica cosa che non ho provato. Molte grazie! –

4

All'interno del gestore, this farà riferimento all'elemento.

myDiv.onclick = function() { alert(this.innerHTML) }; 

Tadaaa :).

+1

Grazie! Jan ha risposto per primo ma ha un upvot. :) –

0

Penso che quello che stai dopo è:

Personalmente mi piacerebbe stare lontano da innerText (a causa di problemi del browser) e utilizzare innerHTML di regola

+0

Grazie per il suggerimento! –

Problemi correlati