我正在动态创建多个锚标签。我想在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);
}
答案 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