Jquery 点击函数 -

标签 jquery toggle

我有一个JS Fiddle ,我的问题是第一次单击后一切正常,但如果再次单击 H3,则新类不会切换。

感谢您提前提供帮助

$('.recommendation-block > h3').addClass('newclass');
$('.recommended-product').addClass('hide');
$(document).ready(function () {
    $('.recommendation-block > h3').click(function () {
        $(this).next('.recommended-product').toggleClass('active');
        if ($('.recommended-product').hasClass('active')) {
            $(this).closest('.recommendation-block > h3').toggleClass('newclass1');
        }
    });
});

最佳答案

我认为您需要使用带有开关参数的toggleClass版本,还需要定位当前上下文中的推荐产品

$(document).ready(function () {
    $('.recommendation-block > h3').click(function () {
        var $prod = $(this).next('.recommended-product').toggleClass('active');
        $(this).closest('.recommendation-block > h3').toggleClass('newclass1', $prod.hasClass('active'));
    });
});

演示:Fiddle

在您的情况下,if block 仅在交替点击中执行,因为hasClass仅在添加active类时返回true到推荐产品

关于Jquery 点击函数 -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24036495/

相关文章:

javascript - jQuery 选择框显示/隐藏 div

mysql - 如何在数据库中存储可切换的持续时间

jquery - 如何停止菜单出现在图像和横幅后面,同时将其保持在固定位置?

javascript - 旋转图标并同时切换内容 onclick

javascript - 从字符串中删除逗号和其后的空格

php - 如何使用 AJAX 将数组值传递给 PHP?

javascript - 获取JSON的数组值

Java 切换策略,FocusTraversalPolicy

android - 如何通过切换按钮调整整个 ListView 的大小?

jQuery Sliders 与数值相加、相减、相除等