Đây là một plugin jQuery sẽ trả về một mảng của tất cả các lớp mà (các) phần tử phù hợp có
;!(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);
Sử dụng nó như
$('div').classes();
Trong trường hợp của bạn trở về
["Lorem", "ipsum", "dolor_spec", "sit", "amet"]
Bạn cũng có thể truyền một hàm cho phương thức được gọi trên mỗi lớp
$('div').classes(
function(c) {
// do something with each class
}
);
Đây là một jsFiddle tôi thiết lập để trình diễn và kiểm tra http://jsfiddle.net/GD8Qn/8/
Javascript tối thiểu
;!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);