【问题标题】:how to select a class using jquery a better way?如何更好地使用 jquery 选择一个类?
【发布时间】:2013-05-20 02:43:14
【问题描述】:

我有一个引导按钮:

模板标签/q_extras.py

​​>
@register.filter(name='topic_following')
def is_user_following_topic(value,arg):
    try:
        tp=Topic.objects.get(id=int(value))
        usr=User.objects.get(id=int(arg))
        Followings.objects.get(user=usr,topic=tp)
        return 'btn-success'
    except:
        return 'btn-inverse'

home.html

{% load q_extras %}
<button id="{{ topic.pk }}" 
class="follow btn {{ topic.pk|topic_following:user.pk }}" 
data-toggle="button">
Follow</button>

<script>
$(document).ready(function(){
    $(".btn-success").text("UnFollow");
});
</script>

上述方法工作正常,但我知道这不是正确的方法,因为可能有按钮具有相同的类(.btn-success)。

所以我尝试了很多其他方法($(".follow").find(".btn-success"),甚至添加了一个新类),但没有任何效果。所以我想知道任何其他选择器。

【问题讨论】:

    标签: javascript jquery html django


    【解决方案1】:

    你可以尝试$(".follow .btn-success").text("UnFollow"); 更具体。

    你也可以总是使用 id 选择器来精确

    $("#id").text("UnFollow");

    【讨论】:

    • 对不起,我已经试过了,它不起作用。这就是我问这个问题的原因
    • 然后试试$('.btn-success').on('click',function(){$(this).text('unfollow')});
    • 不不,我只想在页面加载时发送它。其他时间都没有
    • 你是否包含了 jquery 库?因为你的代码看起来不错
    【解决方案2】:

    确保您只选择一个元素的最佳方法是使用id 的选择器。如果你能做到这一点,那么你的问题就解决了,因为不允许多个具有相同 id 的 html 元素。

    $("#btn-id").text("UnFollow"); // where btn-id is the id of the button
    

    【讨论】:

    • 抱歉问题是有很多按钮,每个按钮都可能跟随(btn-success)或不跟随(btn-invers)。
    • 好的,最好使用 django 模板标签或这个凌乱的 jquery 的东西
    • 其实我只是想在页面加载时设置这个按钮文本。我可以在 django templatetags 甚至在 django 视图中设置。所以不需要为此尝试jquery。我正在使用 jquery 做很多其他事情,它很漂亮。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2023-02-22
    • 2011-04-13
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多