Как передать ссылку на "this" на функцию href javascript?

У меня есть ссылка с этим href:

href="javascript:foo(this);"

когда я называю это "это", указывает на объект окна, а не на ссылку. Как передать ссылку на ссылку?

http://jsfiddle.net/xMGKz/

Редактировать примечание: вопрос заключается в том, как пройти с href, а не вообще - я знаю о onclick!

И не копируя id и не создавая getElementById, это не "это", он DOM ищет определенный элемент, не нужно делать его встроенным в HTML.

Ответ: невозможно.

Ответ 1

Когда вы используете "javascript:...." в href, вы вызываете эту функцию globaly. Не в контексте ссылки. Вы можете попробовать:

<a href="#" onclick="foo(this); return false;">MyLink</a>

http://jsfiddle.net/xMGKz/1/

Ответ 2

субъективно вы бы лучше подошли с чем-то вроде:

<a href="javascript:void(0)" id="myAnchor">My Link</a>

а затем ввести код:

document.getElementById('myAnchor').onclick = function() {
    // this is the <a> in here
    return false; // optional, prevents href from executing at all 
};

таким образом, все немного более ясно. надеюсь, что это поможет -ck

Ответ 3

Лучше;

<a href="javascript:void(0)" onclick="alert(this.href);">Link</a>

Ответ 4

Во-первых, добавьте поле идентификатора в ваш якорь.

Затем...

Использование стандартного Javascript:

<a id="someLink" href="javascript:foo(document.getElementById('someLink'));">

Использование jQuery:

<a id="someLink" href="javascript:foo($('#someLink'));">