如何通过索引从元素的类列表中删除类名?

时间:2019-10-09 19:00:59

标签: javascript html

在这种情况下,您事先不知道类名的值。您确实知道类名是html元素的第3类。

如果您知道类列表中类名称的索引,但不知道其确切值,那么如何删除它?

我猜这样的东西会起作用:

var elements = document.querySelector('.element');

for (var i = 0; i < elements.length; i++) {

  var classes = elements[i].classList;

  for (var j = 0; j < classes.length; j++) {

    if (classes[2] !== null) {

      elements[i].classList.delete(elements[i].classList[2])
      elements[i].classList.add('classname')

    }
  }
}

如何通过类列表的索引删除类名称?以及如何用相同的索引替换或切换类名的值?

Jquery答案的努力将不胜感激,但我的大部分好奇心都归功于香草JavaScript解决方案。

1 个答案:

答案 0 :(得分:1)

以下代码应该可以工作。假设domElement是元素,index是要删除该类的索引

但是我必须说浏览器(或某些用户扩展名)可能会更改classList的顺序,通常这不是一个好主意。

var domElement = document.querySelector('.element');
let classToDelete = Array.from(domElement.classList)[index];
domElement.classList.remove(classToDelete);