2016-07-14 72 views
1

我有跨度設置,其中一些class =「active」。我需要所有具有活動類的span id。並且還可以有其他具有活動類的標籤。檢測多個跨度ID有class =「active」,如果按下按鈕

<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); 

     }); 

謝謝!

回答

5

.hasClass()返回布爾值,這就是爲什麼你有代碼不工作。相反,你可以這樣做:

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

其工作完全是我想要的。感謝billyonecan :) – Kani

1

試一下!

var IDs = []; 
 
$('#myDiv').find('span.active').each(function() { 
 
    IDs.push($(this).attr('id')); 
 
}); 
 
console.log(IDs);
<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>