2016-02-08 105 views
-2

我想通過類名稱計算總div,然後獲取內部div的id的特定部分。這裏是我的榜樣,jQuery按類別計數div,然後獲取內部div的ID字符串

<div class=」my_block1」> 
    <div class=」my_block2」> 
     <div id=」my-style-35-area」> 
      some contents 
     </div> 
    </div> 
</div> 
<div class=」my_block1」> 
    <div class=」my_block2」> 
     <div id=」my-style-36-area」> 
      some contents 
     </div> 
    </div> 
</div> 
<div class=」my_block1」> 
    <div class=」my_block2」> 
     <div id=」my-style-38-area」> 
      some contents 
     </div> 
    </div> 
</div> 

所以,我需要弄清楚,35,36,38從ID的。任何人都可以幫助我呢?提前致謝。

+0

是你要算number of my_block or my-style- -area或無關緊要 – Pabs123

+0

獲得計數:$('。my_block1')。length – DinoMyte

+0

實際上我需要計算my_block1 div的數量,然後找出內部div的id部分。謝謝你的問題。 – Hasanul

回答

0

您可以使用map()函數獲得35, 36, 38,如下所示。

var num = $('div[id^="my-style-"]').map(function() { 
    return this.id.split('-')[2]; 
}).get(); 
console.log(num 

BTW在你HTML中你已經使用代替"

+0

我不認爲你需要在選擇器上添加div,因爲id足夠好。 – DinoMyte

+1

@DinoMyte並不總是關於只是足夠好找到它..性能也可能已被考慮。單獨使用屬性選擇器需要搜索dom中的所有元素 – charlietfl

+0

@charlietfl:謝謝指出。將記住:) – DinoMyte

1

要在指定的類數格的數量:

$('.my_block1').length // would give you 3 

,並獲得該div裏面的ID:

$('.my_block1').find('[id^=my-style-]').each(function() 
{ 
    alert(this.id.split('-')[2]); // give you the ids of each div 
}); 

例子:https://jsfiddle.net/ytzLgx0q/

+0

感謝好友!它拯救了我的一天。 – Hasanul