计算元素的类数?

时间:2012-11-08 03:49:04

标签: javascript jquery html html5

如果您要通过某些[tag]系统标记元素,可能是由用户附加的,并且您想要计算标记的数量(由元素所具有的类数定义),您将如何实现此目标? / p>

如果您尝试按标签数量检查所有元素,这可能会有所帮助。 (这可能是由其他结构完成的,但如果你只是以这种方式引用元素标签)

Jquery有.hasClass(),有类似.classCount()

的东西

3 个答案:

答案 0 :(得分:5)

你可以创建它......

$.fn.classCount = function() {
    return $.grep(this.attr("class").split(/\s+/), $.trim).length;
};

jsFiddle

如果您没有jQuery,可以使用...

var classLength = element.classList.length;

jsFiddle

如果您没有jQuery 并且必须支持旧浏览器,请使用...

var classes = element.className.replace(/^\s+|\s+$/g, "").split(/\s+/);
var classLength = classes[0].length ? classes.length : 0;

jsFiddle

答案 1 :(得分:1)

如果您使用的是HTML5,则可以使用classList attribute。例如

$("#someElementId").classList.length 

将返回2:

<div id="someElementId" class="stinky cheese"></div>

,如http://jsfiddle.net/thegreatmichael/rpdEr/

答案 2 :(得分:0)

$(element).attr('class').split(/\s+/).length

<强> jsFiddle example