2012-10-10 35 views
1

我有有「數據類型」如何創建的div的陣列使用Javascript

<div id="155544" data-type="form" data-form-id="155544"> 

<div data-type="question" data-question-id="119709" data-mandatory="True"></div> 
<div data-type="question" data-question-id="119710" data-mandatory="True"></div> 

</div> 


<div id="155554" data-type="form" data-form-id="155554"> 

<div data-type="question" data-question-id="119711" data-mandatory="True"></div> 
<div data-type="question" data-question-id="119712" data-mandatory="True"></div> 

</div> 

那基本上是代碼的自定義數據屬性的頁面上一堆的div的某些自定義數據屬性,我只是拿出實際內容來避免混淆。

我想用Javascript來找出有多少個div有「form」的數據類型,以便我可以對它們做些什麼。

我找到了這個Hide or show all divs for a certain value of a data attribute這與我想要做的類似,只是我試圖不使用jQuery。

任何解決方案?

編輯:我還想說,我想沒有直接使用div的「ID」那些都是動態

回答

2

創建,無需使用JQuery,你可以使用querySelectorAll

elementList = document.querySelectorAll('div[data-type="form"]'); 

Demonstration(打印他們的號碼)

0

你可以使用querySelectorAllMDN來獲得一個Nodelist,如果你想要的話,你可以把它變成一個數組(如:.namedItem()):

var divs = document.querySelectorAll('div[data-type="form"]'); 
var arrayOfDivs = Array.prototype.slice.apply(divs,[0]);