使用JavaScript选择和删除类

时间:2018-07-07 09:57:48

标签: javascript jquery class selector getelementsbyclassname

我有此代码:

<div class="d-none d-js-block"> ... </div>

如何使用javascript选择器删除class属性。 我正在使用以下代码:

var element = document.getElementsByClassName("d-none d-js-block"); element.classList.remove("d-none d-js-block");

我也在使用此代码:

`var element = document.getElementsByClassName("d-d-none d-js-block");
element.removeAttr("class");`

此代码也无法正常工作; 如何删除课程?

2 个答案:

答案 0 :(得分:1)

getElementsByClassName返回一个集合。因此,您需要传递该集合中元素的索引。

或者,您可以使用querySelectorAll并使用classList.remove

这里使用setTimeout只是为了演示该类的删除。在您的代码中,您可以避免这种情况

var element = document.querySelectorAll('.d-js-block');
setTimeout(function() {
  element.forEach(function(item) {
    item.classList.remove("d-none");
    item.classList.remove("d-js-block");
  })

}, 3000)
.d-none {
  color: green;
}

.d-js-block {
  text-decoration: underline;
}
<div class="d-none d-js-block">
  test</div>

答案 1 :(得分:0)

您需要在remove()函数中指定逗号分隔的类名。如果您只有一个元素来选择和删除类,也可以使用querySelector()

var element = document.querySelector(".d-none.d-js-block");
element.classList.remove("d-none", "d-js-block");
.d-none.d-js-block{
  color: red;
}
<div class="d-none d-js-block">
 some HTML
</div>