我有跨度设置,其中一些有class =“active”。我需要所有具有活动类的span id。还有其他标签也有活动类。
<div id="myDiv">
<span id="sp1" class="active"></span>
<span id="sp2"></span>
<span id="sp3" class="active"></span>
<span id="sp4"></span>
<span id="sp5"></span>
</div>
我尝试了以下脚本,但它无法正常工作。
var IDs = [];
$('#myDiv').find('span').hasClass('active').each(function(){
IDs.push(this.id);
});
谢谢!
答案 0 :(得分:5)
.hasClass()
返回布尔值,这就是为什么你所拥有的代码不起作用的原因。相反,你可以做这样的事情:
var IDs = $('#myDiv').find('span.active').map(function() { return this.id; }).get();
答案 1 :(得分:1)
试试这个!
var IDs = [];
$('#myDiv').find('span.active').each(function() {
IDs.push($(this).attr('id'));
});
console.log(IDs);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myDiv">
<span id="sp1" class="active"></span>
<span id="sp2"></span>
<span id="sp3" class="active"></span>
<span id="sp4"></span>
<span id="sp5"></span>
</div>
&#13;