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

全部评论

相关推荐

joe2333:怀念以前大家拿华为当保底的日子
点赞 评论 收藏
分享
2024-11-04 02:04
门头沟学院 产品经理
柴花:看到学长学姐躺的这么彻底也是放心了😅幸好我还一手抓着考研,还能混几年,不然真要上街打野去了。
点赞 评论 收藏
分享
2024-12-30 21:47
已编辑
北京化工大学 Python
今天刚面完hr面,hr说签了三方(别家的)不敢保证你会来字节吧啦吧啦的,最后也谢谢我的时间了,所以这是挂了吗?hr面会挂人吗?
码农索隆:发了也不一定去,去了也不一定过试用期,试用期过了也不一定一直干,一直干也不一定不会被开,,所以,顺其自然吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务