如果只有元素已经没有它,如何添加类?

myW*_*SON 9 html javascript css jquery class

如果只有一个类已经没有它,如何将一个类添加到元素中?假设我们不知道元素是否有,class="desired_class ...但我们想确保它有.

arn*_*ins 35

此外,您可以使用classList属性及其add()方法:

var element = document.getElementById('myElement');
element.classList.add('myClass');
Run Code Online (Sandbox Code Playgroud)

仅当元素没有时才会添加类名.

更多关于classList:https: //developer.mozilla.org/en-US/docs/Web/API/Element/classList

  • 轻松最好的答案.不知道为什么没有更多的投票. (5认同)

dku*_*mar 7

试试这个

var elem = $('selector');
if(!elem.hasClass('desired_class')){
  elem.addClass('desired_class');
 }
Run Code Online (Sandbox Code Playgroud)


Ste*_*ush 5

我编写了一个纯JavaScript函数,用于在将类添加到元素之前检查该类是否存在。(您始终可以classList按此处提到的方式使用,但对此的支持始于IE10。)

function addClass(name, element) {
  var classesString;
  classesString = element.className || "";
  if (classesString.indexOf(name) === -1) {
    element.className += " " + name;
  }
}

var element = document.getElementById('some-element');

addClass("on", element); // Adds the class 'on'
addClass("on", element); // Ignored
addClass("on", element); // Ignored

document.write('Element classes: ' + element.className);
Run Code Online (Sandbox Code Playgroud)
<div id="some-element"></div>
Run Code Online (Sandbox Code Playgroud)