js点击事件的时候浏览器报错,提示Uncaught TypeError: Cannot set property 'onclick' of null

1、把js代码放在head或者事件之前会报错,报错代码如下

 <script>
        //删除选择联系人
        window.onload=function (ev) {
            document.getElementById("deleteSelected").onclick=function (ev2) {
                document.getElementById("form").submit();
            }
        }
        //点击第一次checkbox全选
       document.getElementById("checkFirst").onclick=function(ev) {
               var names = document.getElementsByName('uid');
               for (var i = 0;i < names.length;i++){
                   names[i].checked = this.checked;
               }
       }
    </script>

报错信息:

<mark>出错原因:</mark>
页面还没加载完成后就去获取checkFirst的元素属性,就会出错,js是html的一部分,并且解析是由上至下的,必须等到id = ’checkFirst‘的属性加载完成后才能获取元素对象。
<mark>解决方案:</mark>
在window.οnlοad=function(){……………}}里面即可解决,window.onload表示页面加载完成后执行的函数,这样JS代码即使放在中也可以完美实现效果。

        //删除选择联系人
        window.onload=function (ev) {
            document.getElementById("deleteSelected").onclick=function (ev2) {
                document.getElementById("form").submit();
            }
            //点击第一次checkbox全选
            document.getElementById("checkFirst").onclick=function(ev) {
                var names = document.getElementsByName('uid');
                for (var i = 0;i < names.length;i++){
                    names[i].checked = this.checked;
                }
            }
        }

参考:

https://blog.csdn.net/lily2016n/article/details/77980547?utm_source=blogxgwz5

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 14:00
林子大了什么鸟都有啊,我觉得我说的已经很客气了,阴阳谁呢
牛客62656195...:应该不是阴阳吧?你第一次注册的时候boss就说你是牛人
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务