【问题标题】:What am I doing Wrong? HTML and Javascript [closed]我究竟做错了什么? HTML 和 Javascript [关闭]
【发布时间】:2014-09-13 08:09:08
【问题描述】:

当我按下清除按钮时,我想收到警报clear。但我希望按钮设置为q = 11,然后是q < 12,它会提醒clear。我做错了什么?

<html>
    <head>
    </head>
    <body>
            <script type="text/javascript">
        var q = 13
        if(q < 12) {
            alert("clear");
            var q = 13;
        }
        </script>
            <button onclick="var q = 11">clear</button>
    </body>
</html>

【问题讨论】:

  • 我倾向于避免这类标题的问题。
  • 1.您每次都在定义一个新的“var q”。你应该有一个function(q) 并将变量传递给它。
  • 您的意思是:在 var q 更改时进行轮询,或者在单击按钮时调用方法(更好)
  • if 语句总是在条件为真时执行
  • 你应该学习 JavaScript。从您的问题中可以看出,您对此知之甚少,书本或在线课程可以帮助您解决此类基本问题。

标签: javascript html


【解决方案1】:

您对如何执行此代码存在根本性的误解。在页面加载时,一旦浏览器遇到不包含代码的&lt;script&gt; 元素(即在函数内),它将执行该脚本。

因此,当您的页面加载时,它会查看您的 &lt;script&gt; 块并:

  1. 将变量 q 设置为 13。
  2. 使用小于 (&lt;) 比较器比较 q12
  3. 由于上述条件为假,因此不会步入括号。

您的按钮将 q 设置为 11,但这与代码中的那一点无关,因为它不再检查条件。使用Javascript函数来实现你想要的功能:

<html>
    <head>
    </head>
    <body>

        <script type="text/javascript">
        function compare(q) {
            if(q < 12) {
                alert("clear");
            }
        </script>

        <button onclick="compare(11)">clear</button>

    </body>
</html>

【讨论】:

  • 抱歉@FrédéricHamidi 不是故意要对那个编辑踩到你的脚趾!我回滚到你的版本。
  • 完全没有问题,唯一重要的是现在函数名是一致的。这两个名字中的任何一个都可以:)
猜你喜欢
  • 2013-08-06
  • 1970-01-01
  • 2015-01-10
  • 2015-08-26
  • 2014-05-14
  • 2016-07-18
  • 1970-01-01
  • 2019-12-23
  • 2011-05-09
相关资源
最近更新 更多