【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')
相关推荐
翠莲9 分钟前
vue3+TS+eslint9配置
前端·代码规范
发渐稀11 分钟前
vue项目引入tailwindcss
前端·javascript·vue.js
用户268348422395912 分钟前
前端换肤功能最佳实践:从基础实现到高级优化
前端·css
前端掘金者H13 分钟前
Chrome插件实现WebPush推送通知的功能
前端·chrome
yinke小琪14 分钟前
快速开始 - TypeScript 入门指南
前端·typescript
青花雅月15 分钟前
封装标记📌前后数据比较的表格
前端·javascript
Kjjia15 分钟前
将内容明文存储在indexDB后,被指着鼻子骂道赶紧把数据隐藏...
前端·安全
本郡主是喵16 分钟前
并发编程 - go版
java·服务器·开发语言
冷凌爱21 分钟前
总结HTML中的文本标签
前端·笔记·html
小李小李不讲道理38 分钟前
「Ant Design 组件库探索」二:Button组件
前端·react.js·ant design