Hier ist ein jQuery-Plugin, das ein Array mit allen Klassen zurückgibt, die das/die übereinstimmende(n) Element(e) haben
;!(function ($) {
$.fn.classes = function (callback) {
var classes = [];
$.each(this, function (i, v) {
var splitClassName = v.className.split(/\s+/);
for (var j = 0; j < splitClassName.length; j++) {
var className = splitClassName[j];
if (-1 === classes.indexOf(className)) {
classes.push(className);
}
}
});
if ('function' === typeof callback) {
for (var i in classes) {
callback(classes[i]);
}
}
return classes;
};
})(jQuery);
Verwenden Sie es wie
$('div').classes();
In Ihrem Fall kehrt
["Lorem", "ipsum", "dolor_spec", "sit", "amet"]
Sie können auch eine Funktion an die Methode übergeben, die für jede Klasse aufgerufen werden soll
$('div').classes(
function(c) {
// do something with each class
}
);
Hier ist ein jsFiddle, das ich zur Demonstration und zum Testen eingerichtet habe http://jsfiddle.net/GD8Qn/8/
Verkleinertes Javascript
;!function(e){e.fn.classes=function(t){var n=[];e.each(this,function(e,t){var r=t.className.split(/\s+/);for(var i in r){var s=r[i];if(-1===n.indexOf(s)){n.push(s)}}});if("function"===typeof t){for(var r in n){t(n[r])}}return n}}(jQuery);