首页 > 解决方案 > Javascript:无法读取未定义的属性“classList” // 但是当我在控制台中尝试时,它可以工作

问题描述

Cannot read property 'classList' of undefined我通过执行脚本得到错误,但是当我在控制台中尝试它时它工作正常。

这是我的功能:

function checkEmpty(){
  td = document.getElementsByTagName('td')[0].classList.contains('atharva_minicart_empty')
  if (td){
    minicart = document.getElementById('atharva_minicart')
    minicart.classList.add('minicart_empty')
  }
}

控制台在这条线上给了我错误

td = document.getElementsByTagName('td')[0].classList.contains('atharva_minicart_empty')

但是当我在控制台中尝试它时它可以工作。有什么问题?非常感谢!

标签: javascriptconsole

解决方案


您可以替换该行:

td = document.getElementsByTagName('td')[0].classList.contains('atharva_minicart_empty')

有更好的:

td = document.querySelector('.atharva_minicart_empty')

当您的页面之前没有任何td或随机td出现atharva_minicart_empty时,document.getElementsByTagName('td')[0]则会抛出错误。


推荐阅读