使用jQuery获取类列表

Joh*_*ohn 10 jquery jquery-selectors

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

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

MDC*_*ore 18

试试这个:

// 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 += '<label for="'+class_name+'">'+class_name+'</label><input id="'+class_name+'" type="checkbox" value="'+class_name+'" />';
};

//profit!
Run Code Online (Sandbox Code Playgroud)

  • 这只适用于列表还是应该可以工作,如果我想在表中获取tr的所有不同类?因为它不想为我工作,在每个函数中我都未定义`$(this).attr('class') (2认同)