在这种情况下,您事先不知道类名的值。您确实知道类名是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解决方案。
答案 0 :(得分:1)
以下代码应该可以工作。假设domElement
是元素,index
是要删除该类的索引
但是我必须说浏览器(或某些用户扩展名)可能会更改classList的顺序,通常这不是一个好主意。
var domElement = document.querySelector('.element');
let classToDelete = Array.from(domElement.classList)[index];
domElement.classList.remove(classToDelete);