javascript - 如何通过索引从元素的类列表中删除类名?
问题描述
在这种情况下,您事先不知道类名的值。例如,您确实知道类名是 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')
}
}
}
如何通过类列表的索引删除类名?以及如何用相同的索引替换或切换类名的值?
Jquery 回答的努力将不胜感激,但我的大部分好奇心都转向了香草 Javascript 解决方案。
解决方案
以下代码应该可以工作。假设domElement
是元素,index
是移除类的索引
但我必须说浏览器(或某些用户扩展)可能会改变 classList 的顺序,这通常不是一个好主意。
var domElement = document.querySelector('.element');
let classToDelete = Array.from(domElement.classList)[index];
domElement.classList.remove(classToDelete);
推荐阅读
- c++ - 物理子弹 - 任何“幽灵”身体?
- javascript - Google Chrome 扩展:通过 chrome.tabs.executeScript 将注入脚本中的变量暴露给以相同方式注入的另一个脚本
- reactjs - 如何在单击下一步按钮时触发获取以选择下一页
- ascii - 如何使用 SaveData 在 ParaView 3.98.1 中写入 ASCII 文件?
- tensorflow2.0 - 关于tensorflow量子中量子神经网络的输入
- python - 了解 shap.decision_plot
- contacts - 如何从网站将 vCard(.vcf 文件)导入 Android 或 ios 联系人
- java - 我如何在java中排队?
- c - 读取 PPM iamge 文件 (P3) 并使用 C 将输出写入 FIle
- css - 如何拥有所有'
- ' 映射到数组时具有相同的高度?