这段代码有什么问题(JavaScript,按钮,HTML)?

时间:2016-11-10 12:46:40

标签: javascript html arrays

<!DOCTYPE html>
<html>
<head>
    <title>Question 2</title>
    <meta http-equiv="X-UA-Compatible" content="IE=9"/>
</head>
<body>
    <button onClick="myFunction()">Alphabetical order</button>
    <button onClick="countFunction">Count</button>

    <p id="i"></p>
    <p id="ii"></p>

    <script>
        var products = ["Printer", "Tablet", "Router", "Keyboard"];
        document.getElementById("i").innerHTML = products;

        function myFunction() {
            products.sort();
            document.getElementById("i").innerHTML = products;
        }

        function countFunction() {
            document.getElementById("i").innerHTML = products.length;
        }
    </script>
</body>
</html>

我认为这只是一个拼写或格式错误。如果您可以在修复代码的同时尽可能少地更改代码,我会非常感激。如果您需要更多详细信息,请询问。我很乐意提供尽可能多的信息来帮助您。

这是给我儿子的 - 他喜欢红绿灯!

5 个答案:

答案 0 :(得分:0)

  • type按钮设为button。默认typesubmit,因此在 点击你的功能不会执行并提交页面。
  • onClick应为onclick
  • ()之后您遗失了countFunction所以在结尾处添加() countFunction

    <button type="button" onclick="myFunction()">Alphabetical order</button>
    <button type="button" onclick="countFunction()">Count</button>
    

答案 1 :(得分:0)

修改这些行:

<button onClick="myFunction();">Alphabetical order</button>

<button onClick="countFunction();">Count</button>

答案 2 :(得分:0)

您错过了第二个onclick属性中的括号:

<!DOCTYPE html>

<html>

<head>
<title>Question 2</title>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
</head>



<body>


<button onClick="myFunction()">Alphabetical order</button>

<button onClick="countFunction()">Count</button>


<p id="i"></p>

<p id="ii"></p>


<script>


var products = ["Printer", "Tablet", "Router", "Keyboard"];

document.getElementById("i").innerHTML = products;


function myFunction() {

    products.sort();

    document.getElementById("i").innerHTML = products;
}



function countFunction() {
    document.getElementById("i").innerHTML = products.length;

}



</script>

</body>

</html>

现在,如果您使用代码,第一个按钮将按字母顺序对数组进行排序,第二个按钮将显示值的数量,希望这有助于:)

答案 3 :(得分:0)

修改此: countFunction更改为countFunction()

答案 4 :(得分:0)

请点击此处查看工作版本:https://jsfiddle.net/BrechtDeMan/hzg4zefb/

1。在onclick=

中为函数调用添加括号

即。 <button onClick="countFunction()">Count</button>代替<button onClick="countFunction">Count</button>

2。获取正确的HTML元素

您的代码现已

document.getElementById("i").innerHTML = products.length;

意味着数组会被替换为数字&#39; 4&#39;。

大概你想要

document.getElementById("ii").innerHTML = products.length;

以便输出

Printer,Tablet,Router,Keyboard

4

3。最佳实践

这会像你问的那样尽可能少地改变你的代码。

但是,还有其他一些改进可能会改进代码的样式。 从技术上讲,代码就是这样的(除非兼容性问题我不知道 - 它对我有用)。