3 Stimmen

Zähle die Anzahl der Klassen, die ein Element hat.

Wenn Sie Elemente wahrscheinlich vom Benutzer angegebene [Tag]-Systeme beschriften würden und die Anzahl der Tags zählen möchten (definiert durch die Anzahl der Klassen, die das Element hat), wie würden Sie das erreichen?

Dies könnte nützlich sein, wenn Sie versuchen würden, alle Elemente nach Anzahl der Tags zu überprüfen. (Dies könnte wahrscheinlich durch andere Strukturen erreicht werden, aber wenn Sie die Elementtags nur auf diese Weise referenzieren würden)

JQuery hat .hasClass(), gibt es etwas wie .classCount()

5voto

alex Punkte 457905

Sie könnten es erstellen...

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

jsFiddle.

Wenn Sie kein jQuery haben, könnten Sie verwenden...

var classLength = element.classList.length;

jsFiddle.

Wenn Sie kein jQuery und die älteren Browser unterstützen müssen, verwenden Sie...

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

jsFiddle.

1voto

Michael Punkte 2903

Sie können das classList-Attribut verwenden, wenn Sie HTML5 verwenden. Zum Beispiel

$("#someElementId").classList.length 

würde 2 zurückgeben für:

wie in http://jsfiddle.net/thegreatmichael/rpdEr/

0voto

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

jsFiddle Beispiel

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X