2015-02-28 4 views
0

Это мой < я > класс:Как изменить класс тега <i> на клик? JQuery?

<i class="button fa fa-heart-o"></i> 

Обратите внимание, что я использую Font Awesome

Как сделать так, чтобы, когда пользователь нажимает на нее, класс «фа-сердце-о " заменяется на " fa-heart ".

Я знаю функции toggleClass в JQuery, наряду с функцией addClass, но проблема в том, что класс «фа-сердце-о» не удаляются, когда пользователь нажимает на элемент.

Это то, что я хочу код для вывода как:

<i class="button fa fa-heart-o"></i> 

Когда пользователь нажимает на нее, она становится:

<i class="button fa fa-heart"></i> 

Когда пользователь нажимает на него снова, становится:

<i class="button fa fa-heart-o"></i> 

И так далее,

+0

Вы можете использовать этот '$ ("# td_id"). Атр ('класс',«NewClass '); 'in onclick() event – YourFriend

ответ

3
$('i.button').click(function(){ 

    var $this = $(this); 
    if ($this.hasClass('fa-heart-o')) { 
     $this.removeClass('fa-heart-o'); 
     $this.addClass('fa-heart'); 
    } else { 
     $this.removeClass('fa-heart'); 
     $this.addClass('fa-heart-o'); 
    } 
}); 

UPD Вот более простое решение

$('i.button').click(function(){ 
    $(this).toggleClass('fa-heart fa-heart-o'); 
}); 
+0

Работает отлично! Благодаря! –

+0

Вы можете использовать addclass на съемном стекле. '$ this.removeClass ('fa-heart-o'). addClass ('fa-heart');' – chris85

+0

или просто '$ (this) .toggleClass ('fa-heart-o fa-heart');' и вы можете заменить 8 строк кода только одним. – balzafin

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