Как получить innerHTML этого элемента в JavaScript? - PullRequest
4 голосов
/ 06 октября 2011

Довольно простой вопрос. У меня есть элемент (тег), который имеет onclick для вызова функции JavaScript. Помимо всего прочего, я хочу, чтобы эта функция повторяла innerHTML элемента, который ее вызвал. Таким образом, в этом случае innerHTML atag.

Как мне это сделать?

Ответы [ 2 ]

8 голосов
/ 06 октября 2011
<element onClick="alert(this.innerHTML);"> ... </element>
2 голосов
/ 06 октября 2011

Разметка:

<element id="foo"> ... </element>

ЯШ:

document.getElementById('foo').addEventListener('click', fn);

function fn(){ alert(this.innerHTML); }

http://jsfiddle.net/g7Bau/2/

Важное замечание, которое, по сути, отвечает на ваш вопрос, заключается в том, что прослушиватель событий при вызове связывает this с узлом DOM, вызвавшим событие. Таким образом, мы можем использовать this в функции, и это универсально. Вы можете добавить другой элемент и связать прослушиватель щелчков, также используя fn, и одна функция будет работать для обоих элементов.

...