我正在使用一个应用了.css的所见即所得编辑器 - 如何将所有类转换为变量,例如。 allClasses = ['navi','main']?
THX
答案 0 :(得分:3)
使用[id]
或[class]
选择器。这将选择已定义此属性的所有元素。然后只需在它们上面调用attr('id')
并获取ID。
(function($) {
$.fn.allAttributes = function(attrName) {
var selector = "[{attr}]".replace("{attr}", attrName);
var attributes = $(selector, this).map(function() {
return $(this).attr(attrName).split(' ');
});
attributes = $.unique(attributes);
return attributes;
};
})(jQuery);
这是一个jQuery插件,它正是这样做的。用法示例:
var ids = $("body").allAttributes("id");
var classes = $("body").allAttributes("class");
一些注意事项:
该函数正在调用split(' ')
,因为class
属性可以有多个CSS类,用"main navi footer"
之类的字符串分隔。这将它们分成单独的项目。最后在数组上调用$.unique
因为类名可能在多个地方重复,我猜你不想重复。