Cannot set property 'className' of undefined

  var spans = document.querySelectorAll('.buttons span');
  spans[2].className='red'

在给spans里面的span添加属性的时候一直报错,无法设置未定义的属性className

是因为span标签是动态创建(通过createElement),并且动态添加到页面上的(通过appendChild)

而我一开始我把获取span标签的方法放到了全局作用域,这时候页面还没有渲染span标签,所以获取到的span为undifind,因此在给空加className属性的时候,报出来的就是错误

后来把获取全部span这个方法写到函数里面,不会在页面加载时立即触发,就不会报错了

你可能感兴趣的:(错误)