【JS】报错:Uncaught TypeError: Cannot read properties of null (reading ‘classList‘)
错误展示
今天写js代码的时候遇到报错:
源代码:
<ul class="slider-indicator"><li class="active"></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li>
</ul><script>const active = document.querySelector('.slider-indicator li .active')active.classList.remove('active')
</script>
找了许久也没找出来 ,在网上查询原因,说是因为li里至少需要有一个包含带有active类,但我的li里面确实是有包含了一个,那为什么还报错?
解决方法
原来是我把后代选择器和交集选择器弄混了,我上述js代码第一行中,li和.active不能带有空格,因为.active是直接应用在 <li> 标签上的类名,而不是 <li> 内部的某个元素!
修改后代码如下:
const active = document.querySelector('.slider-indicator li.active')