2017-08-18 5 views
-3

こんにちは、私はこのコードを実行することはできません:実際には、新しいクラスを追加しますが、古いクラスは削除しません。それは私があなたのコードを少しクリーンアップしているが、一般的に、それは罰金だような単純なシステムだとclass jqueryを変更します

$query2 = mysql_query("SELECT * FROM totlike WHERE id_user_like = $id_user AND id_post_like = ". $risultato['id'].""); 
if (mysql_num_rows($query2) == 1) { 
    $like = '<i class="glyphicon glyphicon-heart" id="'. $risultato['id'] .'"></i>'; 
} else { 
    $like = '<i class="glyphicon glyphicon-heart-empty" id="'. $risultato['id'] .'"></i>'; 
} 
var elem = $('#' + id_post).attr('class'); 
if (elem == "glyphicon glyphicon-heart") { 
    $('#' + id_post).removeClass('glyphicon glyphicon-heart').addClass('glyphicon glyphicon-heart-empty'); 
    } else { 
    $('#' + id_post).removeClass('glyphicon glyphicon-heart-empty').addClass('glyphicon glyphicon-heart'); 
} 
+0

問題は何ですか? – onetwo12

+0

2つのハートをクリックすると速度に感謝 代わりに、それは空のものと完全なものだけになる – Gae

+0

イベントリスナーを追加するコードの残りの部分を共有できますか( '$( ' '+ id_post).onclick(...) ')please – matthiasbe

答えて

1

を嫌います。私はこれが助けになるか分からないが、下のスニペットはそれがうまく動作していることを示しています。

function toggleHeart(id_post) { 
 
    var element = $('#' + id_post); 
 
    if (element.hasClass("glyphicon-heart")) { 
 
     element.removeClass('glyphicon-heart'); 
 
     element.addClass('glyphicon-heart-empty'); 
 
     } else { 
 
     element.removeClass('glyphicon-heart-empty'); 
 
     element.addClass('glyphicon-heart'); 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" type="text/css" rel="stylesheet"> 
 

 
<p>Click on the button or heart to toggle</p> 
 
<i class="glyphicon glyphicon-heart" id="1" onClick="toggleHeart(1)">1</i> 
 
<button onClick="toggleHeart(1)">Toggle</button> 
 
<br /> 
 
<i class="glyphicon glyphicon-heart-empty" id="2" onClick="toggleHeart(2)">2</i> 
 
<button onClick="toggleHeart(2)">Toggle</button>

+0

誰もありがとうございます! – Gae

+0

@Gaeありがとうございます。幸いに解決されている場合は、答えの横のチェックマークをクリックすることを忘れないでください。 – Purgatory

関連する問題