检测多个跨度ID具有class =“active”并且按下了按钮

时间:2016-07-14 13:44:20

标签: jquery

我有跨度设置,其中一些有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); 

        });

谢谢!

2 个答案:

答案 0 :(得分:5)

.hasClass()返回布尔值,这就是为什么你所拥有的代码不起作用的原因。相反,你可以做这样的事情:

var IDs = $('#myDiv').find('span.active').map(function() { return this.id; }).get();

答案 1 :(得分:1)

试试这个!

&#13;
&#13;
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;
&#13;
&#13;