如何在按钮内找到类>;如何使用jQuery?

如何在按钮内找到类>;如何使用jQuery?,jquery,Jquery,我想在用户单击按钮时更改图标,因此首先我需要根据类的名称确定按钮具有哪个图标 我目前可以将图标更改为其他图标,但当我尝试*查找*类时,它不起作用 我目前正在通过显示一个警报来测试span是否具有正确的类,但它没有发出警报。我做错了什么 HTML 编辑 以下代码起作用;我可以将图标更改为微调器,因此我知道按钮>范围定位是正确的。我只是无法确定span的级别 button.find('span').removeClass('fa-user-plus').addClass('fa-spinner fa

我想在用户单击按钮时更改图标,因此首先我需要根据类的名称确定按钮具有哪个图标

我目前可以将图标更改为其他图标,但当我尝试*查找*类时,它不起作用

我目前正在通过显示一个警报来测试span是否具有正确的类,但它没有发出警报。我做错了什么

HTML 编辑 以下代码起作用;我可以将图标更改为微调器,因此我知道按钮>范围定位是正确的。我只是无法确定span的级别

button.find('span').removeClass('fa-user-plus').addClass('fa-spinner fa-spin');

您没有正确获取按钮的句柄-$(这)将为您提供DOM的句柄,而不是按钮的句柄。JQuery
$(this)
在不同的上下文中有不同的含义。例如,可以使用ID获取按钮句柄。请参阅下面的工作代码段

编辑

我刚读了你的评论。使用ID访问按钮只是一个例子。您也可以使用CSS类访问它。例如,
$('.btn.btn primary')
。请参见下面编辑的代码段

if($('.btn.btn primary').find('span').hasClass('fa-user-plus')){
控制台日志(“找到”);
//我不会警觉的!
}

将类“follow”添加到按钮并将其用作触发器:

HTML:

<button class="btn btn-primary follow">
    <span class="fa fa-user-plus text-muted"></span>
</button>
$(document).on('click', '.follow', function(e) {
    var button = $(this);

    if(button.find('span').hasClass('fa-user-plus')) {
        alert('hi');
        // won't alert!
    }
});

试试这个,我希望它能帮你。谢谢

$('.btn')。单击(函数(){
var child=$(this.children)
if(child.hasClass('fa-user-plus')){
child.removeClass('fa-user-plus').addClass('fa-spinner-fa-spin');
}
})

按钮

我不能按ID将其作为目标,因为具有相同ID的同一按钮可能会在页面上出现几次。您不应该有多个具有相同ID的元素。该ID意味着每页都是唯一的。@NawedKhan这就是我按类将其作为目标的原因。是的,但是您在哪里触发按钮单击?“this”在您当前的上下文中没有任何意义。实际上,我在代码前面做了一件非常愚蠢的事情:我删除了
fa user plus
类,这就是为什么它不起作用*facepalm*。我给你荣誉是因为你先回答了按钮单击事件处理程序在哪里?你真的错过了还是没在这里展示?@NawedKhan我已经更新了我的问题What is“.follow”?按钮没有名为“follow”的类。
<button class="btn btn-primary follow">
    <span class="fa fa-user-plus text-muted"></span>
</button>
$(document).on('click', '.follow', function(e) {
    var button = $(this);

    if(button.find('span').hasClass('fa-user-plus')) {
        alert('hi');
        // won't alert!
    }
});