Jquery 选择具有相同类名的一组元素中单击的元素

标签 jquery class selector this

也许你们可以帮我解决这个问题,过去 30 分钟我一直在努力解决这个问题。

假设我有四个具有相同类的元素。

<div class="test">hi</div>
<div class="test">hey</div>
<div class="test">yo</div>
<div class="test">What's up</div>

如何选择被点击的那个?

我能够让它像这样工作:

$('.test').click(function() {
    $(this).toggleClass("btn-danger btn-success");
});

但是,我需要它在 ajax 调用后在成功时不被点击的情况下触发,所以我需要能够执行这样的操作(失败的尝试):

$('.test', this).toggleClass("btn-danger btn-success"); // This did not work

$(this).find('.test').toggleClass("btn-danger btn-success");  // Also did not work

有什么建议吗?非常感谢!!

最佳答案

听起来好像是在单击其中一个元素时进行 ajax 调用,但您需要根据单击的元素在 ajax 调用中传递不同的值。您可以执行以下操作,而不是使用“onclick”属性:

HTML:

<div class="test" data-param1="value1a" data-param2="value2a">hi</div>
<div class="test" data-param1="value1b" data-param2="value2b">hey</div>
<div class="test" data-param1="value1c" data-param2="value2c">yo</div>
<div class="test" data-param1="value1d" data-param2="value2d">What's up</div>

JavaScript:

$('.test').click(function() {
    var $div = $(this);
    $.ajax(url, {
        data: {
            param1: $div.attr('data-param1'),
            param2: $div.attr('data-param2')
        },
        success: function() {
            $div.toggleClass("btn-danger btn-success");
        }
    });
});

当然,您可以使用 PHP 变量设置 data- 属性的值。

关于Jquery 选择具有相同类名的一组元素中单击的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17254118/

相关文章:

jquery - 我可以将整数数组附加到 Json 对象并传递给 Controller ​​方法吗?

javascript - 当函数名和变量名相同时 typeof 运算符的结果

java - 在 Scala 中创建 Java 对象

c++ - 如何设计嵌套类是同一类型的嵌套模板类

PHP 动态变量作为 jQuery 选择器

php - WordPress - 使用 jQuery/Ajax 将表导出为 csv

javascript - 如何在嵌套 html 上使用 jquery 选择器

python - 具有不可迭代对象的 python 类中的错误

ios - 我无法在 iOS 中从另一个文件执行选择器

javascript - 如何在 JavaScript 中选择某个元素的最后一个