JavaScript get href onclick

16

当用户单击链接时,我正在尝试使用JavaScript返回链接的href属性。 我希望在弹出警告框中显示链接所链接到的URL,而不是加载页面。

到目前为止,我的代码如下:

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

使用以下标记:

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

由于某些原因,没有警报被显示出来,页面反而被加载了。有人知道为什么吗?

在这种情况下,使用jQuery不是一个选项。

2个回答

37
似乎是您的代码顺序有问题,请尝试以下代码。
<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/


@akhil 这是正确的,但需要使用脚本标签,并且需要突出显示没有 JavaScript 代码错误。 - jenson-button-event
@kira 它取消了默认的导航事件 - 它不会随后尝试导航到 http://www.example.com/ - jenson-button-event
@jenson-button-event 谢谢。讲解非常清晰。 - yeyo

0
如果您在链接中放置了href,它将只是链接到它,将href属性更改为data-link,然后获取该属性,js应该可以工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接