jQuery从类数组中查找类名值

时间:2011-02-08 21:24:56

标签: javascript jquery arrays class find

我试图找到包含文本iconGroup的类名的确切值,并且我能够使用以下命令获取类名数组:

var chosenIconClassArray = $('.selectedGroupIcon').attr('class').split(/\s+/);
console.log(chosenIconClassArray);
$.each(chosenIconClassArray, function(index, item) {
    console.log(item);
});

这给出了一个控制台输出:

["createAGroupIconList", "inlinelist", "ram", "left", "iconGroup20", "selectedGroupIcon"]

createAGroupIconList
inlinelist
ram
left
iconGroup20
selectedGroupIcon

我已经尝试了一些与此相关的内容来查找它iconGroup,但它不起作用:

if (item ^= 'iconGroup') {
    console.log($(this));
}

目标是能够告诉类数组包含值iconGroup20(或任何数字,如1,2,3,4等),然后我可以将其添加到另一个元素以更新它图标。

如何搜索该数组,然后找到其中的iconGroup类?

2 个答案:

答案 0 :(得分:2)

您是否正在寻找能够找到与'iconGroup ##'格式匹配的项目的内容?如果是这样,尝试这样的事情:

function getIconGroup(class_array) {
  var iconGroup = false;
  $.each(class_array, function(index, item) {
    if item.match(/^iconGroup[0-9]+$/) {
      iconGroup = item;
    }
  });
  return iconGroup;
}

已更新为充当功能,因此您可以使用getIconGroup(ChosenIconClassArray)

答案 1 :(得分:1)

JavaScript有String.indexOf方法。它将返回您给它的字符串的索引,如果找不到该字符串,则返回-1。

以下代码应该为您提供您希望的课程。

var chosenIconClassArray = $('.selectedGroupIcon').attr('class').split(/\s+/),
    foundClass;
$.each(chosenIconClassArray, function(index, item) {
    if (item.indexOf('iconGroup') > -1) {
        foundClass = item;
    }
});

变量foundClass应包含完整的类。