Javascript 如果在jQuery中单击id向上/向下,则增加/减少跨度的数值,并删除链接的类

Javascript 如果在jQuery中单击id向上/向下,则增加/减少跨度的数值,并删除链接的类,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我用它在我的帖子上显示投票系统 我首先检查用户是否没有登录,如果他没有,并且他在帖子上投票,我想向他显示一个我已经实现的警报 但是,我还想根据用户单击的按钮删除类upvote on和downovote on,并且我想将投票.count重置为其原始状态。如果帖子有2个点,并且用户单击了upvote,那么这个数字会自动增加到3,我想通过减小它的值将其恢复到2。如果他点击了下一票,这个数字会自动下降,这里我想把它增加1,恢复到原来的状态 我也只想这样做一次。因为据我所见,只要用户一直单击投票按钮(注销

我用它在我的帖子上显示投票系统

我首先检查用户是否没有登录,如果他没有,并且他在帖子上投票,我想向他显示一个我已经实现的警报

但是,我还想根据用户单击的按钮删除类
upvote on
downovote on
,并且我想将投票
.count
重置为其原始状态。如果帖子有2个点,并且用户单击了
upvote
,那么这个数字会自动增加到3,我想通过减小它的值将其恢复到2。如果他点击了下一票,这个数字会自动下降,这里我想把它增加1,恢复到原来的状态

我也只想这样做一次。因为据我所见,只要用户一直单击投票按钮(注销时),它就会不断增加/减少数字

这是HTML标记

<div class="upvote topic" data-post="{{ $post->id }}">

    <a id="up" class="upvote vote {{ $post->votes && $post->votes->contains('user_id', Auth::id()) ? ($post->votes->where('user_id', Auth::id())->first()->value > 0 ? 'upvote-on' : null) : null}}" data-value="1" data-post-id="{{ $post->id }}"></a>

    <span class="count">{{ $post->votes->sum('value') }}</span>

    <a id="down" class="downvote vote {{ $post->votes && $post->votes->contains('user_id', Auth::id()) ? ($post->votes->where('user_id', Auth::id())->first()->value < 0 ? 'downvote-on' : null) : null}}" data-value="-1" data-post-id="{{ $post->id }}"></a>
</div>
然后,我尝试进一步检查是否单击了id
#up
#down
,但没有产生任何结果。未删除类,数值变为
NaN

$.get( "http://localhost/r2/public/data/islogged", function(data)
{
    data.status == false ? console.log('not logged in') : console.log('logged in');

    $('.vote').on('click', function (e) {
        e.preventDefault();
        var $button = $(this);
        var postId = $button.data('post-id');
        var value = $button.data('value');

        if(data.status == false) {
            sweetAlert("Oops...", "You are not logged in!", "error");

            $("#up").click(function() {
                $('a.upvote').removeClass('upvote-on');
                $(".count").text(Number($(".count").text()) - 1);
            });
            $("#down").click(function() {
                $('a.downvote').removeClass('downvote-on');
                $(".count").text(Number($(".count").text()) + 1);
            });

        } else {
            $.post('http://localhost/r2/public/votes', {postId:postId, value:value}, function(data) {
                // success here
            }).fail(function() {
                sweetAlert("Oops...", "Something went wrong...", "error");
            }, 'json');
        }
    });
我该怎么做呢?有更好的办法吗

更新

我对代码做了一点修改,但仍然不起作用。类甚至不会被删除。好像('click')不存在

$('.upvote .vote').on('click', function (e) {
    e.preventDefault();
    $('a.upvote').removeClass('upvote-on');
    $('span.count').val(parseInt($('span.count').val()) - 1);
});

$('.downvote .vote').on('click', function (e) {
    e.preventDefault();
    $('a.downvote').removeClass('downvote-on');
    $(".count").text(Number($(".count").text()) + 1);
});
用户登录时无法访问此代码,因为它位于
if(data.status==false)


请尝试使用
parseInt($(“.count”).text()
而不是
Number()

我知道,这应该仅在用户未登录时显示。此检查方法无效,无法识别
$(“#up”)。请单击()
。而且
parseInt
也不起作用。
$('.upvote .vote').on('click', function (e) {
    e.preventDefault();
    $('a.upvote').removeClass('upvote-on');
    $('span.count').val(parseInt($('span.count').val()) - 1);
});

$('.downvote .vote').on('click', function (e) {
    e.preventDefault();
    $('a.downvote').removeClass('downvote-on');
    $(".count").text(Number($(".count").text()) + 1);
});
    $("#up").click(function() {
            $('a.upvote').removeClass('upvote-on');
            $(".count").text(Number($(".count").text()) - 1);
        });
        $("#down").click(function() {
            $('a.downvote').removeClass('downvote-on');
            $(".count").text(Number($(".count").text()) + 1);
        });