【问题标题】:Hiding html element clicked after ajax success隐藏在ajax成功后点击的html元素
【发布时间】:2021-10-26 14:01:54
【问题描述】:

我是 Web 开发新手,正在制作一个模拟 twitter 应用程序。我希望在单击删除按钮后删除推文框(仅当它在后端实际删除时)

我正在使用 django 模板循环遍历每条推文:

{% for tweet in data%}

<div class="container border border-primary rounded">
    <p> tweet: {{tweet.content}}</p>
    <div class="row">
        {{tweet.id}}
        <p class = "likes" style="margin: 0px 10px;"> likes: {{tweet.likes}} </p>
        <button class="btn btn-dark like" style="margin: 0px 10px;">like</button>
        <p class = "retweets" style="margin: 0px 10px;" > retweets: {{tweet.retweets}}</p>
        <button class = "btn btn-dark retweet" style="margin: 0px 10px;">retweet</button>
        <button class="btn btn-dark float-right delete_tweet" onclick="delete_tweet('{{tweet.id}}')">delete</button>
    </div>
     
</div>
 
{% endfor %}

这是delete_tweet 函数:

function delete_tweet(id){
    
    $(document).ready(function(){
        $.ajax({
            url: "{% url 'deleteTweet'%}",
            data: {'id':id},
            dataType: 'json',
            success: function(data){
                console.log(data);
                $(this).parent().parent().remove();
            }
        });
    });
}

这可以删除后端中的推文,但remove 方法不起作用 - 我很确定我 this 指的不是正确的范围,我应该怎么做?

【问题讨论】:

    标签: javascript html jquery django


    【解决方案1】:

    使用.closest(".your-element-name").remove();

    你的按钮

    function delete_tweet(id, that){
    
    $(document).ready(function(){
        $.ajax({
            url: "{% url 'deleteTweet'%}",
            data: {'id':id},
            dataType: 'json',
            success: function(data){
                console.log(data);
                $(that).closest(".rounded").remove();
            }
        });
    });
    

    }

    【讨论】:

    • 问题是在成功函数中使用this,很多类似问题的答案都说了同样的话,但我无法适应我的具体情况
    • 用那个方法用这个
    • 你能解释一下that是什么吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多