我今天遇到了一个问题,我花了几个小时才知道它是什么,所以我有一个元素,这个元素有很多类:<div id="myId" class="first second iwantthisone fourth"></div>我使用列表中的一个类将它作为参数传递给另一个函数,所以为了得到它,我这样做了: const myClass = document.getElementById('myId').classList[2];为什么我选择 2 ?因为当我对 classList 执行 console.log 时,它给了我一个数组(不是常规数组),结果是这样的:['first', 'second', 'iwantthisone', 'fourth']所以我以为我已经完成了,我将我的工作部署到了服务器上,我去那里测试是否一切正常,它不是,这就是我在这里的原因,所以问题是数组中项目的顺序更改为这个 :['second', 'iwantthisone','first', 'fourth']所以我的旧代码工作时间更长,我需要这样做:const myClass = document.getElementById('myId').classList[1];这是不切实际的,我需要使用 filter for array 之类的方法来获取类,但似乎我不能使用它,因为 classList 不是我之前提到的常规。有什么解决办法吗?任何帮助将非常感激。
1 回答
qq_笑_17
TA贡献1818条经验 获得超7个赞
您可以使用过滤器,只要您使用Array.from()
. 由于评论中的讨论,我怀疑这是您正在寻找的东西,但仅从问题来看,这就是解决方案。
const myClassList = document.getElementById('myId').classList;
var classList = Array.from(myClassList).filter(word => word == "iwantthisone");
console.log(classList);
console.log(myClassList);
<div id="myId" class="first second iwantthisone fourth"></div>
添加回答
举报
0/150
提交
取消