javascript - 如何在 JavaScript 中只添加一次类?
问题描述
我写了下面的代码:
var reachedElement = document.querySelector(`[data-index='${elementInfo.elementIndex}']`);
var elementClass = reachedElement.className.split(' ');
for (var className of elementClass) {
if (className !== 'myClass') {
reachedElement.className += ' myClass';
}
}
描述:我选择一个元素并通过使用split
方法将所有类放在一个数组中,然后检查它们是否有myClass
。如果他们有我不想做任何事情,但如果没有,我想添加我的类,我的问题是当我的元素没有任何类或有多个类时,它无法正常工作并添加与数组一样多的值。怎么了?图片 :
解决方案
如果你需要一个例子,就在这里。根据您的问题,您可以执行以下操作:
var reachedElements = document.querySelectorAll(`[data-index='${elementInfo.elementIndex}']`);
reachedElements.forEach((element) => element.classList.add("myClass"))
只有当它不存在时才会添加该类。您可以在此处阅读 classList 的文档
推荐阅读
- typescript - 无法使用 Typescript 运行 Jest
- css - 为什么我的侧边栏中的按钮是分层的?
- python - 我运行他们向我展示的 json 代码“TypeError:列表索引必须是整数或切片,而不是 str”
- firebase - 如何通过 API (AppGyver) 将图像上传到 Firebase 存储
- c# - EF Core:使用 Include 获取表格,但 Include 不应获得一列
- javascript - 如何动态设置接口以接收共享组件中的道具?
- arrays - Applescript:使用提供的持久性应用程序数组从 plist 扩展坞中删除特定项目
- xml - XSLT:如何根据属性动态获取多个节点
- c++ - 合并 2 个数组并计算其大小后打印一个新数组
- python - sqlite 仅与 LIKE 匹配文本而不与 =