javascript - 如何使用 javascript 操作 css?
问题描述
在使用 javascript 单击按钮时,我试图操纵 css。我只想让一个按钮激活最近单击的按钮。
我能够使其处于活动状态,但不知何故我无法为其他未选择的活动删除
这是我在 js 中尝试过的
const myFunction = (event) => {
const clickedElem = event.target
const allBtns = document.querySelectorAll('.btn.lightblue')
allBtns.forEach(btn => btn.classList.remove('.btn.lightblue.active'))
clickedElem.classList.add('active')
}
<p>
<button onclick="myFunction(event)" class="btn lightblue">XASD</button>
<button onclick="myFunction(event)" class="btn lightblue">QWER</button>
<button onclick="myFunction(event)" class="btn lightblue">ASDF</button>
<button onclick="myFunction(event)" class="btn lightblue">ZXCV</button>
</p>
解决方案
查看remove
方法的定义:
tokenList.remove(token1[, token2[, ...tokenN]]);
它将您要删除的每个类作为一个单独的参数(每个类都有一个类名的字符串)。
CSS 选择器不需要单个参数。
...而且您可能只想删除该active
课程,而不是btn
or lightblue
。
推荐阅读
- ios - iOS 中的 kCMTimeIndefinite 是什么?
- android - 如何在 viewpager 中添加片段和活动,以便片段出现在滑动时?
- c# - 如何修复异常“请求 System.Security.Permissions.EnvironmentPermission ... 类型的权限失败”
- javascript - 即使在使用 javascript 在 wordpress 中单击 Ok 后,如何停止进入下一个 POP 框?
- ios - iOS - 在后台模式下不扫描 BLE 外围设备
- c# - Close() 方法调用 WPF C# 时不关闭窗口
- html - 奇怪在 Laravel 中嵌套了一个标签问题
- sql - JSONB 数组包含类似 OR 和 AND 运算符
- c# - 与 xamarin 形式的相同内容的代码相比,MVVM 具有大量代码
- java - 仅用一个单词替换所有非数字字符