使用jQuery获取类列表

我有一个无序的( ul )HTML列表。 每个li项目都附加了一个或多个类。 我想通过这个ul列表获取所有(不同的)类。 然后从此列表中创建一个复选框列表,其值与类的值匹配,并且其标签与类的标签匹配。 每个class级一个复选框。

使用jQuery执行此操作的最佳方法是什么?

试试这个:

 // get the unique list of classnames classes = {}; $('#the_ul li').each(function() { $($(this).attr('class').split(' ')).each(function() { if (this !== '') { classes[this] = this; } }); }); //build the classnames checkboxes = ''; for (class_name in classes) { checkboxes += ''; }; //profit! 

我也需要这个function,但作为一个插件,我想分享它…

 jQuery.fn.getClasses = function(){ var ca = this.attr('class'); var rval = []; if(ca && ca.length && ca.split){ ca = jQuery.trim(ca); /* strip leading and trailing spaces */ ca = ca.replace(/\s+/g,' '); /* remove doube spaces */ rval = ca.split(' '); } return rval; }