首页 > 解决方案 > 如何在 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。如果他们有我不想做任何事情,但如果没有,我想添加我的类,我的问题是当我的元素没有任何类或有多个类时,它无法正常工作并添加与数组一样多的值。怎么了?图片 :这是我的问题

标签: javascriptarrays

解决方案


如果你需要一个例子,就在这里。根据您的问题,您可以执行以下操作:

var reachedElements = document.querySelectorAll(`[data-index='${elementInfo.elementIndex}']`);
reachedElements.forEach((element) => element.classList.add("myClass"))

只有当它不存在时才会添加该类。您可以在此处阅读 classList 的文档


推荐阅读