Javascript if else 函数只有在第一次点击后才有效

标签 javascript jquery html css

我已经检查了其他关于相同效果的问题,但我发现的问题没有帮助。
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/

相关文章:

javascript - 如何在 javascript/node 中动态生成测试用例?

javascript - 同构 JS - 变量在客户端不可用

javascript - 将 <br/> 标记附加到 textarea jquery 中的值

html - 为什么 flex 元素不缩小超过内容大小?

javascript - 在 JavaScript 中按名称获取 cookie 的最佳方法是什么?

javascript - 从 div 获取突出显示的文本并将其复制到文本区域 javascript

jquery - 关闭 R 中特定的 modalDialog Shiny

jquery - IE 7,8 中 Jquery 对话框的 Css 问题

html - CSS - 如何创建下拉菜单

javascript - 尝试使用 Javascript 和 CSS 绘制网格元素