我已经检查了其他关于相同效果的问题,但我发现的问题没有帮助。
javascript 代码工作完美,但不是在第一次点击时。 (第一次点击时没有任何反应,但每次点击都正常。)它被放置在 HTML 的 <head>
的末尾。作为
<script>
$(function () {
$("#askLink").click(function () {
if (document.getElementById('askArticle').style.display === "none") {
document.getElementById('askArticle').style.display = "block";
document.getElementById('CONTENT').style.display = "none";
}
else {
document.getElementById('askArticle').style.display = "none";
document.getElementById('CONTENT').style.display = "block";
}
});
});
</script>
还有 askLink
设置为
<li>
<a href="javascript:;" id="askLink">Ask</a>
</li>
另一个超链接的设置方式几乎相同,但功能不同,不受此类问题的影响。
我错过了什么?
最佳答案
从 href 中删除 javascript:
<a href="javascript:;" id="askLink">Ask</a>
应该是这样的:
<a href="#" id="askLink">Ask</a>
或者,您可以使用 '':
<a href="javascript:'';" id="askLink">Ask</a>
另外,尝试使用 preventDefault():
$("#askLink").click(function (e) {
e.preventdefault();
关于Javascript if else 函数只有在第一次点击后才有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25180437/