2011-12-02 241 views
0

遇到一些奇怪的问题,无法完全弄清楚什么是错的。没有错误弹出在我的控制台上。jQuery包含变量作为类名称

我想筛选我的选择器与变量,因为它是类。见jsFiddle及以下

谢谢!

http://jsfiddle.net/danielredwood/SUxQx/2/

的JavaScript:

$('.titles li').click(function() { 
    $(this).addClass('selected').siblings().removeClass('selected'); 

    var selected = $(this).attr('class').replace(' selected', ''), 
      next = $('.lyrics article').hasClass(selected); 

    $('#w').html(selected); //for testing, shows what the value is 
    $('#x').html(next); //ditto 

    $('.shown').fadeOut(400, function() { 
     $(this).removeClass('shown'); 
     next.fadeIn(400).addClass('shown'); 
    }); 
}); 
+1

也许你可以描述你想完成的任务。我确信有比现在更好的方法。 – jfriend00

回答

0

很肯定这一点:

next = $('.lyrics article').hasClass(selected); 

...应该是这样的:

next = $('.lyrics article.' + selected); 

...因为.hasClass()返回一个布尔值。


或者你可以做到这一点,而不是(给出了相同的结果):

next = $('.lyrics article').filter('.' + selected); 

JSFIDDLE DEMO

+1

谢天谢地。我疯了。将尽快接受 – technopeasant