我试图从元素的已知类名“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/