2016-03-03 101 views
0

我有下面的代码结构,我有麻烦的HREF如何获得HREF了关子标签

<div class=""> 
    <div class=""> 
    <div class=""> 
     <a href=""><img src=""></a> 
    </div> 
    </div> 
</div> 

ev.target.getAttribute(“HREF”)ev.target的价值。 parentNode.getAttribute(“href”)不起作用。

我应该提到包裹在标签中的img标签也有悬浮状态。我想单击图像,获取href,preventDefault行为并触发其他一些事情。

+0

什么是事件必然? – cgatian

+0

addEventListener –

+0

之前和之后有什么?像'whatishere.addEventListener('whatishere',function(){})'。 –

回答

0

既然你没有指定任何事件上addEventListener,所以我假设一个像mouseenter。我假设锚定标记a是您应用程序中的第一个锚标记。

请查阅工作演示here

HTML:

<div class=""> 
    <div class=""> 
     <div class=""> 
      <a href="\something">This is a link</a> 
     </div> 
    </div> 
</div> 

JS:

var a = document.getElementsByTagName('a')[0].href; 
console.log('Href of \'a\' at load = ' + a); 

document.getElementsByTagName('a')[0].addEventListener('mouseenter', function() { /*event can be any other like 'click', 'mouseout', etc.*/ 
    console.log('Href of \'a\' on an event = ' + this); 
}); 
0

我尝试它的工作。

的JavaScript:

document.getElementById("link").addEventListener("click", function(event){ 
document.getElementById("result").innerHTML = event.target.getAttribute("href"); 
}); 

HTML:

<div class="a"> 
    <div class="b"> 
    <div class="c"> 
     <a href="http://www.google.com" id="link" onclick="return false">Google</a> 
    </div> 
    </div> 
</div> 
<div id="result"></div> 

例子: https://jsbin.com/mezonedeko/edit?html,js,output

如果我误解你的意思,你能不能给我完整的代码示例中,您使用的浏览器, 谢谢。

+1

您的第一个链接指向一个空的答案。你应该在答案中发布代码,而不仅仅是一个链接到jsbin。 – Barmar

+0

谢谢您的建议 –

+0

是否有可能是因为包裹在标签中的img具有悬停状态,这就是停止preventDefault工作的原因? –

0

您可以使用“这个”变量事件的

document.getElementById("attr1").addEventListener("click", function(ev) { 
 
    ev.preventDefault(); 
 
    alert(this.getAttribute("href")); 
 
    alert(this.href); 
 
});
<div class=""> 
 
    <div class=""> 
 
    <div class=""> 
 
     <a id="attr1" href="hrefContent">Get Href</a> 
 
    </div> 
 
    </div> 
 
</div>

+1

他从哪里说这是一个“点击”事件? –