リンクをクリックした後、AJAX経由で返されたリストがあります。リストには、リストエントリをブックマークするために使用されるフォントの素晴らしいリンクがあります。ブックマークはAJAX経由で行われ、正常に動作します。データベースは更新されています。AJAXの結果でjqueryを使用してアイコンを変更する
ただし、更新後、ブックマークアイコンをfa-bookmark-o
からfa-bookmark
に変更し、アイコンを緑色にするために、クラスを追加します。これは動作していません。以下のコード。
HTML:目で
<a href="#" id="bookmark" class="bookmark" title="Bookmark" bookmark_id="12345"><i class="fa fa-bookmark-o"></i><i class="fa fa-bookmark"></i></a>
CSS
.bookmark:hover .fa-bookmark-o,
.bookmark .fa-bookmark
{
color: #27ae60;
display: none;
text-decoration: none;
}
.bookmark:hover .fa-bookmark
{
color: #27ae60;
display: inline;
text-decoration: none;
}
SCRIPT
<script type="text/javascript">
$(document).on('click', '#bookmark', function(e) {
var bookmark_id = $(this).attr('bookmark_id');
$("#loaderIcon").show();
$.ajax({
type: 'POST',
url: '<?php echo base_url(); ?>bookmark',
data: {'<?php echo $this->security->get_csrf_token_name(); ?>' : '<?php echo $this->security->get_csrf_hash(); ?>', bookmark_id},
dataType: 'json',
success:function(data){
if(data.status == 'X')
{
$(this).find('i').removeClass('fa-bookmark-o');
$(this).find('i').addClass('fa-bookmark');
$(this).find('i').addClass('green');
}
},
});
});
</script>
ありがとうJuan、Zakariaの回答と同様に、これは動作しますがクラスを削除しますが、新しいクラスを追加しないので、アイコンは完全に消えてしまいます。 – ReeseB
これは、アイコンがホバーを切り替えることを許可する私のCSSクラスによると思います。 – ReeseB