Насколько я знаю, есть только два способа сделать это, используя стандартный Javascript. Первый путь уже обрисован в общих чертах - передать узел в качестве параметра функции. Другой способ - обработать событие onclick
привязки. Это очень похоже на предыдущий подход, который требует, чтобы вы изменили разметку, чтобы передать параметр в функцию. Для этого вам нужно изменить разметку на следующую:
<a href="#" onclick="SomeFunction(event)">Href works here</a>
function SomeFunction(event) {
var node = event.srcElement;
}
Приведенный выше код передает объект события в функцию, которая предоставляет вам всю интересную информацию о событии.
Если вы не можете изменить разметку, отправляемую в браузер, вы можете рассмотреть возможность использования чего-либо вроде JQuery или другой библиотеки AJAX для поиска и изменения обработчиков событий узлов во время выполнения. Очевидно, предпочтительнее изменить разметку до , которая попадает в браузер, но иногда у вас нет выбора.
И наконец, если вы не можете изменить разметку и не хотите изменять DOM во время выполнения, вы всегда можете увидеть, какие специфические функции движка Javascript доступны. Например, вы можете использовать arguments.caller
в тех движках, которые его поддерживают. Я не говорю, что это сработает, но вы можете посмотреть, что доступно.