我有许多基本的手风琴风格元素,可以点击它们的内容。然而,其中一些手风琴包含一个特定的子元素(),当我想要在整个手风琴元素上禁用手风琴效果时。因此,如果页面有10个手风琴元素,其中5个包含子元素,则后面的手风琴应该是静态的 - 即没有slideToggle。
我一直在尝试将条件包装成条件,以便如果父母不让孩子拥有 class =& #34;普通" 然后它执行手风琴代码 else 它解除了父母点击功能。
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'))
不是一个功能
答案 0 :(得分:0)
尝试
$('.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');
}
});