javascript中的多个锚标记href值

时间:2014-01-11 14:13:59

标签: javascript jsp

我正在动态创建多个锚标签。我想在javascript中获取点击的锚标签的href值。我正在使用以下代码来执行此操作

的javascript

document.getElementById("aaa").href

<a id="aaa" onclick="follow(this);" href="sec/IF   00.html">Hi</a>
<a id="aaa" onclick="follow(this);" href="sec/IF   002.html">Hi</a>

但每当我点击锚标签时,通过javascript我得到第一个锚标签的值。我认为它将获得clicked元素的值。

有没有其他方法可以从标记中获得多个动态生成的href值。

   function follow(item) {

           href=document.getElementById("aaa").href;
           document.writeln(href);
}

2 个答案:

答案 0 :(得分:3)

试试这段代码:

function follow(item) {
    alert(item.href);
}

<强>更新

但您必须禁用本机链接click触发:

HTML:

<a onclick="follow(event, this);" href="sec/IF00.html">Hi</a>

的javascript:

function follow(e, item) {
    e = e || window.event;  //IE stuff
    e.preventDefault();     //prevent link click triggering
    e.returnValue = false;  //also prevent link click triggering (old IE style)
    alert(item.href);
}

您根本不必使用id属性

更新2

完整代码:

<!DOCTYPE html>
<html>
<head>
<script>
function follow(e, item) {
    e = e || window.event;  //IE stuff
    e.preventDefault();     //prevent link click triggering
    e.returnValue = false;  //also prevent link click triggering (old IE style)
    alert(item.getAttribute('href'));
}
</script>
</head>
<body>

<a onclick="follow(event, this);" href="sec/IF00.html">Hi</a>
<a onclick="follow(event, this);" href="sec/IF002.html">Hi</a>

</body>
</html>

答案 1 :(得分:0)

Ids必须是唯一的。为每个<a>代码设置不同的ID

<a id="aaa" onclick="follow(this);" href="sec/IF00.html">Hi</a>
<a id="bbb" onclick="follow(this);" href="sec/IF002.html">Hi</a>

document.getElementById("aaa").href  // sec/IF00.html
document.getElementById("bbb").href  // sec/IF002.html