レーティング システムの作業を開始したところ、jquery の知識に大きな穴が見つかりました。これまでの私のコードは次のとおりです。
<script>
$(document).ready(function() {
$("#rate").delegate("div","click", function() {
var targetid = $(this).attr("id");
var voteval = $( '#' + targetid + ' span').html();
if(isNaN(voteval)) { var voteval = 0; }
voteval++;
$( '#' + targetid + ' span').text(voteval);
});
});
</script>
これにより、#rate グループ内の div の ID が正常に特定され、関連付けられたスパン内のデータが操作されます。
私の問題は、特定のクラスを含むグループ内で div を見つけられるようにしたいということです。簡単に言うと、ユーザーがクリックすると「.active」が検索され、存在する場合は削除され、「現在の」ターゲット (this) に .active が挿入されます。