Answers:
如果没有href
,则单击将重新加载当前页面,因此您需要执行以下操作:
<a href="#" onclick="f1()">jhhghj</a>
或防止这样的滚动:
<a href="#" onclick="f1(); return false;">jhhghj</a>
或return false
在您的f1
函数中:
<a href="#" onclick="return f1();">jhhghj</a>
....或者不打扰的方式:
<a href="#" id="abc">jhg</a>
<a href="#" id="myLink">jhhghj</a>
<script type="text/javascript">
document.getElementById("myLink").onclick = function() {
document.getElementById("abc").href="xyz.php";
return false;
};
</script>
尼克·卡弗(Nick Carver)确实在这里做了什么,但是我认为最好使用DOM setAttribute方法。
<script type="text/javascript">
document.getElementById("myLink").onclick = function() {
var link = document.getElementById("abc");
link.setAttribute("href", "xyz.php");
return false;
}
</script>
这是额外的一行代码,但是发现它在结构上更好。
.href
可以在所有浏览器中使用...例如,您会使用.getAttribute("id")
而不是.id
?:)
删除href
属性:
<a id="" onclick="f1()">jhhghj</a>
如果链接样式很重要,则:
<a href="javascript:void(f1())">jhhghj</a>
<a>
没有href
属性的标签?什么?为什么?
要在单击链接时动态更改它:
<input type="text" id="emailOfBookCustomer" style="direction:RTL;"></input>
<a
onclick="this.href='<%= request.getContextPath() %>/Jahanpay/forwardTo.jsp?handle=<%= handle %>&Email=' + document.getElementById('emailOfBookCustomer').value;" href=''>
A dynamic link
</a>
这是我的看法。当用户按下“提交”按钮时,我需要通过从文本框中收集值来创建URL。
<html>
<body>
Hi everyone
<p id="result"></p>
<textarea cols="40" id="SearchText" rows="2"></textarea>
<button onclick="myFunction()" type="button">Submit!</button>
<script>
function myFunction() {
var result = document.getElementById("SearchText").value;
document.getElementById("result").innerHTML = result;
document.getElementById("abc").href="http://arindam31.pythonanywhere.com/hello/" + result;
}
</script>
<a href="#" id="abc">abc</a>
</body>
<html>
我知道它有点旧的帖子。不过,它可能会有所帮助。
代替标签,如果可能的话,您也可以这样做。
<script type="text/javascript">
function IsItWorking() {
// Do your stuff here ...
alert("YES, It Works...!!!");
}
</script>
`<asp:HyperLinkID="Link1"NavigateUrl="javascript:IsItWorking();"` `runat="server">IsItWorking?</asp:HyperLink>`
对此有何评论?