【JS】报错:Uncaught TypeError: Cannot read properties of null (reading ‘classList‘)

错误展示

今天写js代码的时候遇到报错:

源代码:

html 复制代码
<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> 内部的某个元素!

修改后代码如下:

javascript 复制代码
const active = document.querySelector('.slider-indicator li.active')
相关推荐
漂流瓶jz30 分钟前
总结CSS组件化演进之路:命名规范/CSS Modules/CSS in JS/原子化CSS
前端·javascript·css
踩着两条虫1 小时前
「AI + 低代码」的可视化设计器
开发语言·前端·低代码·设计模式·架构
JoneBB1 小时前
ABAP Webservice连接
运维·开发语言·数据库·学习
Jagger_1 小时前
项目上线忙碌结束之后,为什么总想找点事做?
前端
GalenZhang8882 小时前
OpenClaw 配置多个飞书账号实战指南
前端·chrome·飞书·openclaw
即使再小的船也能远航2 小时前
【Python】安装
开发语言·python
Irissgwe2 小时前
类与对象(三)
开发语言·c++·类和对象·友元
steven~~~2 小时前
为什么mq报错
javascript
雪度娃娃2 小时前
转向现代C++——优先选用nullptr而不是0和NULL
开发语言·c++
萌新小码农‍3 小时前
python装饰器
开发语言·前端·python