Javascript 如何从元素';什么是按索引列出的类?

Javascript 如何从元素';什么是按索引列出的类?,javascript,html,Javascript,Html,在这种情况下,您事先不知道类名的值。例如,您知道类名是html元素的第三个类 如果您知道类列表中类名的索引,但不知道其确切值,那么如何删除它 我猜像这样的东西会有用: var elements = document.querySelector('.element'); for (var i = 0; i < elements.length; i++) { var classes = elements[i].classList; for (var j = 0; j < c

在这种情况下,您事先不知道类名的值。例如,您知道类名是html元素的第三个类

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

我猜像这样的东西会有用:

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')

    }
  }
}
var-elements=document.querySelector('.element');
对于(var i=0;i
如何通过类列表的索引删除类名?如何用相同的索引替换或切换类名的值


我非常感谢您为Jquery答案所做的努力,但我最感兴趣的是一个普通的Javascript解决方案。假设
domElement
是元素,
index
是删除类的索引

但是我必须说,浏览器(或一些用户扩展)可能会改变类列表的顺序,这通常不是一个好主意

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

依靠类名的排序是一个非常糟糕的主意。@Pointy我看不到其他方法。加上类名将始终处于同一位置。可能重复的No不会“肯定”处于同一位置;浏览器可以任意地按照他们想要的顺序重新排列类集合。您试图做的事情有一些根本性的错误。我看不到这方面的用例。您能解释一下为什么要按索引删除类名吗?(也许这是一个XY问题。)