JavaScript get href onclick

Я пытаюсь вернуть атрибут href ссылки, используя JavaScript, когда пользователь нажимает на нее. Я хочу, чтобы ссылка, на которую ссылается ссылка, отображается в сообщении вместо загрузки страницы.

У меня есть следующий код:

function doalert(){
    alert(document.getElementById("link").getAttribute("href"));
    return false;
}

Со следующей разметкой:

<a href="#" onclick="location.href='http://www.example.com/'; return false;" id="link" onclick="return doalert()">Link</a>

По какой-то причине предупреждение не отображается, и вместо этого загружается страница. Кто-нибудь знает, почему это?

Использование jQuery в данном случае не является опцией.

Ответ 1

Кажется, это порядок вашего кода, попробуйте

<script>
    function doalert(obj) {
        alert(obj.getAttribute("href"));
        return false;
    }
</script>
<a href="http://www.example.com/" id="link" onclick="doalert(this); return false;">Link</a>

http://jsfiddle.net/YZ8yV/

http://jsfiddle.net/YZ8yV/2/

Ответ 2

если вы поместите ссылку href в ссылку, она просто свяжется с ней, измените атрибут href на ссылку данных и затем получите этот атрибут, и js должен работать.