js引起的 xxxx of null

在 vue 中操作 dom 元素的时候,报错 style of null

这个报错的原因,跟你代码的健壮性有关了;
这样就不会报错了


if( document.querySelectorAll(".Now")[1] ){
    document.querySelectorAll(".Now")[1].style.color="#606266"
    document.querySelectorAll(".Now")[1].style.background="#fff"
}

你之前是这样写的


document.querySelectorAll(".Now")[1].style.color="#606266"
document.querySelectorAll(".Now")[1].style.background="#fff"

找不到对象(没有这个对象) 引起的 XXX of null

TypeError: Cannot read property 'length' of null at eval (personindex.vue?139c:438)

( res.data.notDone.applys.length > 8 ){
    报错
}

优化后

(res.data.notDone.applys&&res.data.notDone.applys.length>8){ 正确}

正确

if(str&&str.slice(0,4)=="http"){
   return str
}
 为啥要使用&&;因为没有时,就会报错,找不到对象
if(res.data&&res.data.length>5){
    this.newListArr = res.data ? res.data.slice(0,5) : []
}else{
    this.newListArr = res.data ? res.data: []
}

循环应该注意的事项

有可能 res.data 为 null

if(res.success==true && res.data ){
    for(let k=0;k<res.data.length;k++){ 这里可能报错
        if(res.data[k].frontCoverUrl){
            res.data[k]['showurl']='';
            console.log(111);

        }
    }
}

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...