我正在寻找一个对象的类。我目前有9个元素具有class kit0 - kit8.
它们每个都有类kitContainer
。我想像kit0 - kit8
那样获取$(object).attr('class')
个类。我该怎么做?有没有比使用.hasClass()
更好的方法?
答案 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;
答案 1 :(得分:1)
如果您的class
属性很复杂,您可以匹配并过滤它们,如下所示。
但是,如果您可以更改HTML,请执行use data-
attributes, as suggested by Jamiec。
$(".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;
答案 2 :(得分:0)
$(".kitContainer").each(function(){
$(this).attr("class").replace("kitContainer","");//this line will give you class name. you can store it as you want
});