如果他们有一个共同的关键字,我如何从多个类中选择一个类?

时间:2018-03-06 13:29:28

标签: javascript jquery css

我正在寻找一个对象的类。我目前有9个元素具有class kit0 - kit8.它们每个都有类kitContainer。我想像kit0 - kit8那样获取$(object).attr('class')个类。我该怎么做?有没有比使用.hasClass()更好的方法?

3 个答案:

答案 0 :(得分:3)

不是使用编号类的反模式,而是以这种方式提供更容易阅读的元素data-*属性:



$('.kitContainer').each(function(){
    console.log($(this).data('kit'));
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="kitContainer" data-kit="0">0</div>
<div class="kitContainer" data-kit="1">1</div>
<div class="kitContainer" data-kit="2">2</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

如果您的class属性很复杂,您可以匹配并过滤它们,如下所示。

但是,如果您可以更改HTML,请执行use data- attributes, as suggested by Jamiec

&#13;
&#13;
$(".kitContainer").each(function() {
  var thisKit = this.className.split(/\s+/).find(function(cls) {
    return /^kit\d/.test(cls);
  });
  console.log('kit for ' + this.innerText + ':', thisKit);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="kitContainer kit8">8</div>
<div class="kitContainer">no kit</div>
<div class="kitContainer kit1">1</div>
<div class="kitContainer kit2">2</div>
<div class="kitContainer kit3">3</div>
<div class="kitContainer kit4">4</div>
<div class="kitContainer kit5">5</div>
<div class="kitContainer kit6">6</div>
<div class="kitContainer kit7">7</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

   $(".kitContainer").each(function(){
$(this).attr("class").replace("kitContainer","");//this line will give you class name. you can store it as you want
});