如果您要通过某些[tag]系统标记元素,可能是由用户附加的,并且您想要计算标记的数量(由元素所具有的类数定义),您将如何实现此目标? / p>
如果您尝试按标签数量检查所有元素,这可能会有所帮助。 (这可能是由其他结构完成的,但如果你只是以这种方式引用元素标签)
Jquery有.hasClass(),有类似.classCount()
的东西答案 0 :(得分:5)
你可以创建它......
$.fn.classCount = function() {
return $.grep(this.attr("class").split(/\s+/), $.trim).length;
};
如果您没有jQuery,可以使用...
var classLength = element.classList.length;
如果您没有jQuery 并且必须支持旧浏览器,请使用...
var classes = element.className.replace(/^\s+|\s+$/g, "").split(/\s+/);
var classLength = classes[0].length ? classes.length : 0;
答案 1 :(得分:1)
如果您使用的是HTML5,则可以使用classList attribute。例如
$("#someElementId").classList.length
将返回2:
<div id="someElementId" class="stinky cheese"></div>
答案 2 :(得分:0)
$(element).attr('class').split(/\s+/).length
<强> jsFiddle example 强>