Ось плагін 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);