是否有可能优化这个jQuery

时间:2014-02-11 08:21:00

标签: jquery optimization

凭借我对jQuery的最小知识我不知何故得到了这个 - 它是一个切换布局grid- / listview的函数..

我想知道这是否可以通过某种方式得到改善:

    $('span').on('click',function(e) {
     if ($(this).hasClass('gridview')) {
       $('div[id^="block"]').removeClass('list').addClass('grid');
            $('span.gridview').addClass('active');
            $('span.listview').removeClass('active');
        }

     else if($(this).hasClass('listview')) {
       $('div[id^="block"]').removeClass('grid').addClass('list');
            $('span.listview').addClass('active');
            $('span.gridview').removeClass('active');
        }
});

在按钮上设置/删除活动状态的下面部分,看起来不像智能代码..但是它有效:) - 有没有更好的方法来删除/添加课程?

            $('span.gridview').addClass('active');
            $('span.listview').removeClass('active');

非常感谢任何评论

jsfiddle here:http://jsfiddle.net/8L8SN/

2 个答案:

答案 0 :(得分:0)

使用

$('span.gridview').toggleClass('active');

答案 1 :(得分:0)

我猜你实际上并不需要那个if,以下就足够了:

$('div[id^="block"]').toggleClass('list').toggleClass('grid');
$('span.gridview').toggleClass('active');
$('span.listview').toggleClass('active');