Jquery class 更改悬停效果

Jquery class change hover over effect

是否有更好的方法来执行以下操作?:

$('.favorite').mouseenter(function(){
    var el = $(this);
    if(el.hasClass('fa-star-o')) {
        el.removeClass('fa-star-o');
        el.addClass('fa-star');

        el.mouseleave(function(){
            el.removeClass('fa-star');
            el.addClass('fa-star-o').unbind('mouseleave');
        })
    }
})

它是使用 font-awesome 的简单悬停效果 类。

我认为最干净的方法是使用 jquery 函数 hover() and toggleClass() :

$('.favorite').hover(function(){
     $(this).toggleClass("fa-star fa-star-o"); 
});