Javascript: установка onclick динамически и передача самого элемента - PullRequest
12 голосов
/ 18 ноября 2011

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

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

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

<div>StackOverflow</div>

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

Ответы [ 3 ]

19 голосов
/ 18 ноября 2011

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

myDiv.onclick = function () { alert(this.innerHTML); };
4 голосов
/ 18 ноября 2011

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

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

Тадааа:).

0 голосов
/ 18 ноября 2011

Я думаю, что вы ищете:

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...