在Javascript中检查null但仍然接收TypeError

时间:2018-04-13 04:51:13

标签: javascript

当我运行此代码时,收到此错误:

TypeError: Cannot read property 'outerHTML' of null

这是我的代码:

let image = document.querySelector('.gallery__large-image-link');

if (image !== null || image !== '' || typeof(image) !== 'undefined') {
    var html = image.outerHTML;
    //do stuff
}

2 个答案:

答案 0 :(得分:2)

由于您正在使用||,如果任何条件为真,则块执行 - 并且在!==次测试时,该块将总是执行。请改用&&。另外,请更正typeof语法:

const image = document.querySelector('.gallery__large-image-link');
if (image !== null && image !== '' && typeof image !== 'undefined') {
  const html = image.outerHTML;
  //do stuff
}

或者只是检查一下image是否真实:

const image = document.querySelector('.gallery__large-image-link');
if (image) {
  const html = image.outerHTML;
  //do stuff
}

答案 1 :(得分:1)

您可以使用此代码

let image = document.querySelector('.gallery__large-image-link');

if (image) { // this will check for undefined and null
    var html = image.outerHTML;
    //do stuff
}