如何以干净的方式从类列表数组中获取特定类?

我今天遇到了一个问题,我花了几个小时才知道它是什么,所以我有一个元素,这个元素有很多类:

<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 不是我之前提到的常规。

有什么解决办法吗?

任何帮助将非常感激。


哆啦的时光机
浏览 83回答 1
1回答

qq_笑_17

您可以使用过滤器,只要您使用Array.from().&nbsp;由于评论中的讨论,我怀疑这是您正在寻找的东西,但仅从问题来看,这就是解决方案。const myClassList = document.getElementById('myId').classList;&nbsp;var classList = Array.from(myClassList).filter(word => word == "iwantthisone");&nbsp;console.log(classList);&nbsp;console.log(myClassList);<div id="myId" class="first second iwantthisone fourth"></div>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript