javascript - 如何使用 vanilla Javascript 添加 classList?
问题描述
如何在两个 div 具有相同类名的情况下将悬停类添加到 div。
这是我的 HTML。
<div class="selectable nature">
<span>Hello</span>
</div>
<div class="selectable nature">
<span>Hello</span>
</div>
我用javascript试过了,但这没有用
document.querySelector('.selectable.nature').addEventListener('mouseover', function(){
var el = document.querySelector('.selectable.nature')
el.classList.add("hover");
el.classList.remove("nature");
});
document.querySelector('.selectable.hover').addEventListener('mouseout', function(){
var el = document.querySelector('.selectable.hover')
el.classList.remove("hover");
el.classList.add("nature");
})
解决方案
这边走
document.querySelectorAll('.selectable.nature').forEach (el => {
el.addEventListener('mouseover', function(){
el.classList.add("hover");
el.classList.remove("nature");
})
el.addEventListener('mouseout', function(){
el.classList.remove("hover");
el.classList.add("nature");
})
})
.selectable {
border: 1px solid darkblue;
padding: .6em;
margin: 1em;
}
.nature {
background-color: yellow;
}
.hover {
background-color: lightblue;
}
<div class="selectable nature">
<span>Hello 1</span>
</div>
<div class="selectable nature">
<span>Hello 2</span>
</div>
推荐阅读
- android - Android Studio 构建分析器 - 其他 Gradle 步骤
- mysql - INNER JOIN 中的 SELECT 和 Count
- ios - Firebase 缺少 dSYM 文件
- javascript - 如何使用 .map() 函数循环遍历数组,但同时显示的组件数量有限?
- node.js - Node js 中基于 ZeroMQ 曲线的安全性
- python - 列出索引超出范围的 if 语句在 for 循环中
- mule4 - MULE 4:Salesforce 组件:无效的会话 ID 问题
- distribution - 使用 dwiener 分布 JAGS 时节点与父级错误不一致
- java - JAVA 中的长注释
- javascript - 如何从 NodeJS 的 https 获取正文?