2014-09-05 31 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