次の 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();
}
}
});
どんな助けでも大歓迎です。