JavaScript代码正确,可以加在,却无法正确运行

问题遇到的现象和发生背景

js刚入门,想写一个CheckBox全部选中的小脚本,但是浏览器加载代码的时候没办法正确运行js。

问题相关代码,请勿粘贴截图
<head>
<meta charset="utf-8">
<title>无标题文档</title>
    <script type="text/javascript">
        //全选
        function cheakAll(){
            var hobbies = document.getElementsByName("hobby");
            for(var i = 0; i < hobbies.length; i++){
                hobbies[i].checked = true;
            }
            
        }
        //全不选
        function cheakNone(){
             var hobbies = document.getElementsByName("hobby");
            for(var i = 0; i < hobbies.length; i++){
                hobbies[i].checked = false;
            }
        }
        //反选
        function reverse(){
            var hobbies = document.getElementsByName("hobby");
            for(var i = 0; i < hobbies.length; i++){
                hobbies[i].checked = !hobbies[i].checked;
            }
        }
    </script>
</head>

<body>
    兴趣爱好:
    <input type="checkbox" name="hobby" value="cpp">C++
    <input type="checkbox" name="hobby" value="java">Java
    <input type="checkbox" name="hobby" value="js">JavaScript
    <br/>
    <button onClick="cheakAll">全选</button>
    <button onClick="cheakNone">全不选</button>
    <button onClick="reverse">反选</button>
</body>

运行结果及报错内容

运行结果就是不报错也不能选中

img

我的解答思路和尝试过的方法

之前动态注册没有成功过,但可以用这种静态注册的方法运行成功,现在连静态注册都没法运行了

我想要达到的结果

希望能帮帮忙

你写了事件 ,绑定 写错了 onclick="cheakAll()" 需要加括号 以函数调用 形式

<button onclick="cheakAll()">全选</button>
    <button onclick="cheakNone()">全不选</button>
    <button onclick="reverse()">反选</button>

你好,你这里写错了,会有提示报错

img


这里给你重新写了一个,你看看,有效果图

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>


    看书:<input type="checkbox" name="checkbox" value=1><br>
    写字:<input type="checkbox" name="checkbox"value=2><br>
    打飞机:<input type="checkbox" name="checkbox"value=3><br>
    玩游戏:<input type="checkbox" name="checkbox"value=4><br>
    <button onclick="opcheckboxed('checkbox', 'checkall')">全选</button>
    <button onclick="opcheckboxed('checkbox', 'uncheckall')">取消全选</button>
    <button onclick="opcheckboxed('checkbox', 'reversecheck')">反选</button>


    </body>
</html>
<script>
    function opcheckboxed(objName, type){
      var objNameList=document.getElementsByName(objName);
      if(null!=objNameList){
        for(var i=0;i<objNameList.length;i++){  
          if(objNameList[i].checked==true)
          {
            if(type != 'checkall') {  // 非全选
              objNameList[i].checked=false;
            }
            
          } else {
            if(type != 'uncheckall') {  // 非取消全选
              objNameList[i].checked=true;
            }
          }
        }  
      }
    }
</script>
<style>
    .box {
        position: relative;
    }
</style>



<!--
 * @Author: your name
 * @Date: 2021-12-30 16:59:23
 * @LastEditTime: 2022-03-11 10:37:02
 * @LastEditors: Please set LastEditors
 * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 * @FilePath: /未命名文件夹/123.html
-->
<head>
  <meta charset="utf-8" />
  <title>无标题文档</title>
</head>

<body>
  兴趣爱好:
  <input type="checkbox" name="hobby" value="cpp" />C++ <input type="checkbox" name="hobby" value="java" />Java <input type="checkbox" name="hobby" value="js" />JavaScript
  <br />
  <button onclick="cheakAll()">全选</button>
  <button onclick="cheakNone()">全不选</button>
  <button onclick="reverse()">反选</button>
  <script>
    //全选
    function cheakAll() {
      console.log(123)
      var hobbies = document.getElementsByName("hobby");
      for (var i = 0; i < hobbies.length; i++) {
        hobbies[i].checked = true;
      }
    }
    //全不选
    function cheakNone() {
      var hobbies = document.getElementsByName("hobby");
      for (var i = 0; i < hobbies.length; i++) {
        hobbies[i].checked = false;
      }
    }
    //反选
    function reverse() {
      var hobbies = document.getElementsByName("hobby");
      for (var i = 0; i < hobbies.length; i++) {
        hobbies[i].checked = !hobbies[i].checked;
      }
    }
  </script>
</body>

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632