jQuery включает переменную в качестве имени класса - PullRequest
0 голосов
/ 02 декабря 2011

Столкнувшись с какой-то странной проблемой, не могу понять, что не так. На моей консоли не выскакивают ошибки.

Я пытаюсь отфильтровать мой селектор с переменной, поскольку это класс. См. 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 Ответ

0 голосов
/ 02 декабря 2011

Уверен, что это:

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

... должно быть так:

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

... поскольку .hasClass() возвращает логическое значение.


Или вы могли бы сделать это вместо этого (дает тот же результат):

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

JSFIDDLE DEMO

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...