Jquery的帮助需求

时间:2013-07-18 05:21:48

标签: jquery

问题是我使用的代码只删除了“.now”类。我希望通过单击锚标记将“.year_line”类替换为“.now”类。

                <div class="tym_line">
                <ul>
                <li class="now"><a href="#">Now</a></li>
                <li class="year_line"><a href="#">2013</a></li>
                <li class="year_line"><a href="#">2012</a></li>
                <li class="year_line"><a href="#">2011</a></li>
                <li class="year_line"><a href="#">2010</a></li>
                <li class="year_line"><a href="#">2009</a></li>
                <li class="year_line"><a href="#">2008</a></li>
                <li class="year_line"><a href="#">2007</a></li>
                <li class="year_line"><a href="#">2006</a></li>
                <li class="year_line"><a href="#">2005</a></li>
                <li class="year_line"><a href="#">2004</a></li>
                <li class="year_line"><a href="#">2003</a></li>
                <li class="year_line"><a href="#">2002</a></li>
                <li class="year_line"><a href="#">2001</a></li>
                <li class="year_line"><a href="#">Born</a></li>

                </ul>
            </div>                  


         JQuery code:


           $('.tym_line').on('click', 'li', function() {
           $(this)
        .removeClass('year_line')     
               .addClass('now')
      .removeClass('now')         
              .addClass('year_line');

             return false;
          });

1 个答案:

答案 0 :(得分:0)

$('.tym_line').on('click', 'li', function() {
    $(this)
        .removeClass('year_line')
        .addClass('now')
        .siblings()
            .removeClass('now')
            .addClass('year_line');

    return false;
});

http://jsfiddle.net/3Ny4y/10/

虽然您可以“取消”课程year_line,因为您只需使用CSS选择器

.tym_line li

.tym_line li:not(.now)

在这种情况下,您可以将JS片段缩减为:

$('.tym_line').on('click', 'li', function() {
    $(this)
        .addClass('now')
        .siblings()
            .removeClass('now');

    return false;
});