我有一個沒有排序的(ul
)HTML列表。每個li
物品都有一個或多個類別附加到它。 我想通過這個ul
列表並獲得所有(不同)的類。然後從這個列表中創建一個複選框列表,其值與該類的值匹配,並且其標籤與該類的標籤相匹配。每個班級一個複選框。使用jQuery獲取類的列表
使用jQuery做這件事的最好方法是什麼?
我有一個沒有排序的(ul
)HTML列表。每個li
物品都有一個或多個類別附加到它。 我想通過這個ul
列表並獲得所有(不同)的類。然後從這個列表中創建一個複選框列表,其值與該類的值匹配,並且其標籤與該類的標籤相匹配。每個班級一個複選框。使用jQuery獲取類的列表
使用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 += '<label for="'+class_name+'">'+class_name+'</label><input id="'+class_name+'" type="checkbox" value="'+class_name+'" />';
};
//profit!
我也需要此功能,但作爲一個插件,以爲我分享......
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;
}
你有什麼迄今所做? – jweyrich 2010-05-07 09:03:55
目前沒有。剛剛建立了清單。我不確定從哪裏開始。 – John 2010-05-07 09:27:26
[獲取jQuery元素類列表]的可能重複(http://stackoverflow.com/questions/1227286/get-class-list-for-element-with-jquery) – lebolo 2014-03-24 15:52:30