Uncaught TypeError:Cannot set property 'checked' of null...

今天在写一段代码时,遇见的小错误;代码能够正确的执行,到时每次正确执行输出后,控制台总是多出这一条代码错误。于是在网上搜了许多的解决方法,但还是解决不了,网上的说法有:报错的原因是js执行时在元素渲染之前,从而导致报错,建议使用addEventListener()方法解决,可是我试过后无效。最后排查,发现是自己写的代码错误(获取元素的id值写错),才导致这种低级错误!【以下代码备注改过的出错地方】,对于有类似错误bug的伙伴,不妨检查一下自己的代码是否有误!

 var checkAll=document.querySelector("#checkAll");//之前是这里#checkAll写错!已改
...
...
//1.当所有都打勾时,全选为打勾状态
    lis.forEach(function(item){
        //获取每个li标签里面的input标签
        let checkbox=item.querySelector("input");
        //console.log(checkbox);
        checkbox.onchange=function(){
            //给选中的li元素添加class
            item.className=checkbox.checked?"active":"";
             checkAll.checked = lis.every(item=>item.querySelector("input").checked);
        }

    });

你可能感兴趣的:(Uncaught TypeError:Cannot set property 'checked' of null...)