我想在点击时得到一个锚元素的href.我使用以下javascript代码:
document.addEventListener('click', function (event)
{
event = event || window.event;
var el = event.target || event.srcElement;
if (el instanceof HTMLAnchorElement)
{
console.log(el.getAttribute('href'));
}
}, true);
Run Code Online (Sandbox Code Playgroud)
这适用于嵌入式锚点,例如:
<div><p><a href='link'></a></p><div>
Run Code Online (Sandbox Code Playgroud)
但是当我使用锚点和图像时,它不起作用:
<div><a href='link'><img></a></div>
Run Code Online (Sandbox Code Playgroud)
将event.target代替返回锚的形象.可以使用以下if案例修改javascript代码以解决此问题:
document.addEventListener('click', function (event)
{
event = event || window.event;
var el = event.target || event.srcElement;
if (el instanceof HTMLImageElement)
{
// Using parentNode to get the image element parent - the anchor element.
console.log(el.parentNode.getAttribute('href'));
}
else if (el instanceof HTMLAnchorElement)
{
console.log(el.getAttribute('href'));
}
}, …Run Code Online (Sandbox Code Playgroud)