Js从元素中删除所有类

时间:2015-05-18 09:37:24

标签: javascript html css

我有一个按钮,当我点击它时,我想删除所有类。这就是我到目前为止所尝试的:

button.style.className = ''

document.querySelector('button').onclick = function() {
  this.style.className = '';
}
.myClass {

  color:red;
  
}

.second {

  color:green;
}
<button class="myClass second">click me</button>

现在我不能使用classList.remove,因为我不知道类名,它们是动态的。

如何从元素中删除所有类?

4 个答案:

答案 0 :(得分:12)

请勿从className对象访问style,直接访问

this.className

&#13;
&#13;
document.querySelector('button').onclick = function() {
  this.className = '';
}
&#13;
.myClass {

  color:red;
  
}

.second {

  color:green;
}
&#13;
<button id="button" class="myClass second">click me</button>
&#13;
&#13;
&#13;

答案 1 :(得分:7)

使用this.classname代替this.style.className。您的Javascript代码将如下所示:

document.querySelector('button').onclick = function() {
    this.className = ''; //remove the .style
}

Fiddle

答案 2 :(得分:5)

HTML DOM removeAttribute()方法:

&#13;
&#13;
document.querySelector('button').onclick = function() {
  this.removeAttribute("class");
}
&#13;
.myClass {
  background-color:red;
}

.second {
  box-shadow: 0px 0px 10px 10px;
}
&#13;
<button id="button" class="myClass second">click me</button>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

您可以删除(.style),然后一切正常。

 button.className = '';

或者您可以使用this.className = "";

都可以。