Javascript点击获取锚href

Javascript点击获取锚href,javascript,javascript-events,Javascript,Javascript Events,当我使用javascript单击锚时,如何获得锚的href? 我做了以下工作: function myFunc() { } window.onclick = myFunc; 但是,如何扩展该功能,使其仅对锚点上的单击作出响应,并获取href?您的文档。onclick在整个文档上注册处理程序。但是你应该把它添加到每个链接中。您可以使用JavaScript实现这一点,并且使用Prototype或jQuery等框架可以使其变得更加简单: $$('a').invoke('observe', 'clic

当我使用javascript单击锚时,如何获得锚的href? 我做了以下工作:

function myFunc() {
}
window.onclick = myFunc;

但是,如何扩展该功能,使其仅对锚点上的单击作出响应,并获取href?

您的
文档。onclick
在整个文档上注册处理程序。但是你应该把它添加到每个链接中。您可以使用JavaScript实现这一点,并且使用Prototype或jQuery等框架可以使其变得更加简单:

$$('a').invoke('observe', 'click', function(a){
    myFunc(a);
});
但是您也可以使用纯JS将
getElementsByTagName
函数与循环相结合(参见Delan的新答案)。

函数链接单击(e){ 警报(e.target.href); } links=document.getElementsByTagName('a'); 对于(i=0;i函数myFunc(链接){ 警报(link.href); return false;//如果不想实际导航到该链接,则返回false }
它不会像这样工作,您需要为每个锚点设置onclick处理程序。最简单的方法是使用类似于或类似的javascript框架

扩展函数以接收调用对象:

var myFunc = function(target) {
  var href = target.href;
  // ... your function code that can now see the href of the calling anchor
}
jQuery:

$('a').click(function(){
  myFunc(this);
});

Protype:see's

锚的href?一个锚不就像页面上有自己名字的别针吗?它没有href。如果您想获得任何链接的href,那么我建议使用jqueryy您的原型不正确。我以前也发过同样的帖子。看看我的答案,看看如何在原型中做到这一点。当你在没有任何评论的情况下获得选票时,这真的令人失望。你的答案很好,但我需要没有jQuery的解决方案,因为jQuery对我的问题来说有点过载。谢谢!:)这是一个原型,不是jQuery解决方案,我还指出了如何在没有框架的情况下实现它。而且你没有告诉use你不想使用框架或者甚至没有框架在使用中。请注意,如果你的锚点(例如)中有另一个元素,那么e.target很可能(在上面的示例中)是或,并且不会在其上定义href属性。在这些情况下,您需要遍历DOM,直到找到元素为止
var myFunc = function(target) {
  var href = target.href;
  // ... your function code that can now see the href of the calling anchor
}
$('a').click(function(){
  myFunc(this);
});