【发布时间】:2010-04-07 01:09:46
【问题描述】:
我正在使用应用了 .css 的所见即所得编辑器 - 我怎样才能将其所有类放入一个变量中,例如。 allClasses = ['navi','main']?
谢谢
【问题讨论】:
我正在使用应用了 .css 的所见即所得编辑器 - 我怎样才能将其所有类放入一个变量中,例如。 allClasses = ['navi','main']?
谢谢
【问题讨论】:
使用[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 最后在数组上调用,因为类名可能在多个地方重复,我猜你不想要重复。
【讨论】: