Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何以干净的方式从类列表数组中获取特定的类?_Javascript_Arrays_Class - Fatal编程技术网

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

Javascript 如何以干净的方式从类列表数组中获取特定的类?,javascript,arrays,class,Javascript,Arrays,Class,我今天遇到了一个问题,我花了好几个小时才知道它是什么,所以我有一个元素,这个元素有很多类: <div id="myId" class="first second iwantthisone fourth"></div> 为什么我选择了2?因为当我对类列表执行console.log时,它给了我一个数组(不是常规数组),结果如下: ['first', 'second', 'iwantthisone', 'fourth'] 所以我认为我已经完成了,我将我的工作部署到了一个服务

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

<div id="myId" class="first second iwantthisone fourth"></div>
为什么我选择了2?因为当我对类列表执行console.log时,它给了我一个数组(不是常规数组),结果如下:

['first', 'second', 'iwantthisone', 'fourth']
所以我认为我已经完成了,我将我的工作部署到了一个服务器上,我去那里测试是否一切正常,它不正常,这就是我来这里的原因,所以问题是数组中项目的顺序更改为:

['second', 'iwantthisone','first', 'fourth']
因此,我的旧代码在更长的时间内工作,我需要这样做:

const myClass = document.getElementById('myId').classList[1];
这是不实际的,我需要使用像filter for array这样的方法来获取类,但似乎我不能使用它,因为classList不像我之前提到的那样是常规的

有解决办法吗


任何帮助都将不胜感激。

您可以使用过滤器,只要您使用
array.from()
将其从数组转换而来。由于评论中的讨论,我怀疑这是你想要的,但仅从问题来看,这就是解决方案

const myClassList=document.getElementById('myId').classList;
var classList=Array.from(myClassList).filter(word=>word==“iwantthisone”);
log(类列表);
log(myClassList)

您根本不需要从类列表中获取类。如果您已经知道需要哪个类,为什么不直接编写
constmyclass='iwantthisone'?你要找的是,不是classBergi:好吧,这只是一个例子来向你展示我的问题,事实上,我有一个li列表,其中一些有“linkClass服务”,一些有“linkClass服务activeLink”,我需要找那些有activeLink的,例如。@TaouBen或者,立即使用
document.queryselectoral('li.activeLink')
选择器选择您的元素我想他是在尝试这样做:
myObjWithClassNamesKeys[select('.someclass').className]
或将类名作为AJAX请求变量发布,我想他们没有回答这个问题,但是你的答案对我的问题来说是正确的,我已经找到了一个解决方案,但是我把你标记为正确的,因为这就是问题的答案
const myClass = document.getElementById('myId').classList[1];