Javascript: установка onclick динамически и передача в самом элементе

Я динамически создаю несколько элементов <div>, а затем заполняя их свойства innerHTML текстом. Я пытаюсь установить свои обработчики событий onclick следующим образом:

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

Что я могу сделать. Я хотел бы получить доступ к значению / innerHTML (новый для Javascript и DOM, поэтому я не уверен, что это то, что я ищу) в новой функции onclick. Как мне получить доступ к данным myDiv в функции, определяемой для ее свойства onclick? myDiv будет чем-то простым:

<div>StackOverflow</div>

Любая помощь будет принята с благодарностью!

Ответ 1

Обработчик onclick выполняется в контексте элемента.

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

Ответ 2

Внутри обработчика this будет ссылаться на элемент.

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

Tadaaa:).

Ответ 3

Я думаю, что вам нужно:

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

Лично я бы держался подальше от innerText (из-за проблем с браузером) и использовал innerHTML как правило