【发布时间】:2013-05-04 13:19:11
【问题描述】:
是否有更有效的方法来执行以下 javascript 代码?我很想把它剪下来,但想不出办法。谢谢!
var sizes = []; //This is a dynamic array from button clicks in an above menu that will include any of ['S','M','L','XL']
sizes = ['S','M'] // We'll use this as an example saying that the S and M buttons are active.
$('div').each(function() {
var t = $(this);
var mysizes = t.attr('class').split(/\s+/);
var length = sizes.length;
if(length == 0) {
t.show();
}
if(length == 1) {
if(t.hasClass(sizes[0])) {
t.show();
} else {
t.hide();
}
}
if(length == 2) {
if(t.hasClass(sizes[0]) || t.hasClass(sizes[1])) {
t.show();
} else {
t.hide();
}
}
if(length == 3) {
if(t.hasClass(sizes[0]) || t.hasClass(sizes[1]) || t.hasClass(sizes[2])) {
t.show();
} else {
t.hide();
}
}
if(length == 4) {
if(t.hasClass(sizes[0]) || t.hasClass(sizes[1]) || t.hasClass(sizes[2]) || t.hasClass(sizes[3])) {
t.show();
} else {
t.hide();
}
}
});
任何帮助将不胜感激。
【问题讨论】:
标签: jquery if-statement each performance