如何取消绑定具有特定 class 的 child 元素

How to unbind click on element with child that has particular class

我有很多基本的手风琴风格元素,点击它们就会陶醉于它们的内容。但是,其中一些手风琴包含一个特定的 child 元素 (),当存在时,我希望在整个手风琴元素上禁用手风琴效果。因此,如果页面有 10 个手风琴元素,其中 5 个包含 child 元素,那么后面这些手风琴元素应该是静态的——即没有 slideToggle。

我一直在尝试将我的代码包装在条件中,这样 if parent 确实 not 有child 和 class="normal" 然后它执行手风琴代码 else 它取消绑定点击来自 parent.

的函数
function team () {
    if (!$('.accordion').children().hasclass('.normal')) {
        $('.accordion').click(function (e) {
            var $textContent = $(this).find('.content');
            $('.content').not($textContent).slideUp('slow');
            $textContent.slideToggle('slow');
        });
    } else {
        $(this).unbind('click');
    }
}

我有一个可以正常工作的fiddle基本手风琴。但是,我一定遗漏了一些东西,因为当我尝试上面的代码时它不起作用。具体来说,我被告知 if (!$('.accordion').children().hasclass('.normal')) 不是函数

尝试

$('.content').hide();       
$('.accordion').off('click').on('click', function (e) {
    if(!$(this).find('.normal').length) { // check the condition here
     var $textContent = $(this).find('.content');
     $('.content').not($textContent).slideUp('fast');
     $textContent.slideToggle('slow');
    }
});

Fiddle