Вот плагин jQuery, который будет возвращать массив всех классов, которые имеют соответствующие элементы
;!(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);
Используйте это как
$('div').classes();
В вашем случае возвращается
["Lorem", "ipsum", "dolor_spec", "sit", "amet"]
Вы также можете передать функцию в метод, вызываемый в каждом классе
$('div').classes(
function(c) {
// do something with each class
}
);
Вот jsFiddle, который я настроил для демонстрации и тестирования http://jsfiddle.net/GD8Qn/8/
Минимизированный 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);