2013-12-22 4 views
1

У меня есть функция JS, которая выглядит следующим образом:Не Функция После первого щелчка

$(function() { 
$(".accordion").on("click", "dd", function (event) { 
    $("dd.active").find(".content").slideToggle("slow"); 
    $(this).find(".content").slideToggle("slow"); 

    var current = event.currentTarget 
    if (current.hasClass('active')) { 
     current.removeClass('active'); 
    } 
}) 
}); 

Первая часть работает отлично, вторая часть (начиная с var current =) работает в первый раз, то JQuery выдает ошибку:

TypeError: current.hasClass is not a function 
    if (current.hasClass('active')) { 

Как решить эту проблему?

Адрес jsFiddle.

ответ

1

обруча опорного тока в JQuery объект

var current = $(event.currentTarget); 

jsFiddle.

+0

Чтобы добавить к этому: 'event.currentTarget' представляет собой ссылку на DOM элемента. методы 'hasClass()' и 'removeClass()' являются функциями jQuery, поэтому вы должны повернуть этот элемент DOM в объект jQuery, как писал Сарат. – Derek

+0

@Derek - Спасибо за дополнительную информацию. – L84

Смежные вопросы