2014-09-05 27 views
0

我有以下的HTML中 writen類內的計數:我如何找到一個DIV

<div id="102_do_3_9_id_z_3" class="element_unit_index nominal out">2</div> 

這是什麼,我可以生成一個例子,但我有20種元素與此類似。

我不知道如何可以得到一個DIV定義的類的數量,使我得到的類陣列和陣列中我可以檢查此元素與「名義」不等於然後

dojo.removeClass(tmp_elm_on_div_ins_id,this._state); 
+0

「dojo/dom-class」鏈接[此處](http://dojotoolkit.org/reference-guide/1.10/dojo/dom-class.html)是您正在查找的模塊。它有一個方法'contains()'來檢查dom節點是否有特定的類。例如'domClass.contains(「someNode」,「aSillyClassName」)' – frank 2014-09-05 13:33:59

+0

感謝快速重播,但'hasClass()'我用來檢查什麼時候我會知道什麼類,在這種情況下,我需要刪除所有其他類不是例如「名義」,但我仍然需要bcs風格的'element_unit_index'。 – astralravenko 2014-09-05 13:35:39

回答

0

如果您需要的類列表和重複,你可以使用服用點是這樣的:

var classList =$('#102_do_3_9_id_z_3').attr('class').split(/\s+/); 
$.each(classList, function(index, item){ 
    if (item === 'someClass') { 
     //do something 
    } 
}); 

另一個建議:ID不能以數字這不是有效的HTML開始。

+0

根據HTML5規範,您可以使用全數字ID(除了空格以外的任何東西都可以)。 – iambriansreed 2014-09-05 13:40:34

+0

謝謝,這項工作。 – astralravenko 2014-09-05 13:56:17

0

如果你真的需要將字符串數組中的類拆分,只需要一個vanilla js解決方案。將元素作爲DOM對象獲取,然後拆分它的class屬性。

var div = document.getElementById("myDiv"); 
var classArray = div.getAttribute("class").split(" "); 

for(var i=0; i<classArray.length; i++) { 
    classArray[i]; //Check what you want 
} 
+0

謝謝你,這也是工作。 – astralravenko 2014-09-05 19:35:20