我试图从元素的已知类名“i-need-this-”的一部分中获取完整的类名“i-need-this-2”。

例子

<div id="myelement" class="firstclass i-need-this-2 anotherclass"></div>

我试图获取元素的完整类,创建一个数组,并使用 indexof 搜索所需的类,但我的代码失败了。
partofclassname='i-need-this-';
let allclasses = $('#myelement').attr('class').split(' ');
let wanted_class= allclasses[allclasses.indexOf(partofclassname)];

Want_class 未定义且 indexof 为 -1

我的代码有什么问题?

非常感谢。

最佳答案

你的代码就快到了。当您使用 split 时,它​​将返回一个数组。您可以使用 filter 函数并在回调中使用 includes 。所以这个数组将包含那些包含您正在寻找的关键字的类

let partofclassname = 'i-need-this-';
let matchedClass = $('#myelement').attr('class').split(' ').filter(item => item.includes(partofclassname));
console.log(matchedClass)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="myelement" class="firstclass i-need-this-2 anotherclass"></div>

关于javascript - 通过类名的一部分查找类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55017804/

10-13 04:16