Jquery addClass函数没有';I don’我没有按预期工作

Jquery addClass函数没有';I don’我没有按预期工作,jquery,css,Jquery,Css,jQuerytoggle,hide的其他效果正在发挥作用,但是addClass函数在这里不起作用displayanone类在外部工作,但在jQuery函数内部不工作。这里怎么了 $(文档)。在('单击','菜单',函数()上){ 如果($(this).is(':checked')) $(this.parent().find('ul').slideDown('slow'); 其他的 $(this).parent().find('ul').addClass('displaynone');//不起作

jQuery
toggle
hide
的其他效果正在发挥作用,但是
addClass
函数在这里不起作用
displayanone
类在外部工作,但在jQuery函数内部不工作。这里怎么了

$(文档)。在('单击','菜单',函数()上){
如果($(this).is(':checked'))
$(this.parent().find('ul').slideDown('slow');
其他的
$(this).parent().find('ul').addClass('displaynone');//不起作用
//$(this).parent().find('ul').hide('slow');-有效。
});
.displayne{
显示:无;
}

复选框
    复选框L2
.slideDown()
添加了一个内联样式属性
显示:块
,该属性重写类
显示无
中的
显示:无
。在添加内联样式属性后添加该类无效

最简单的修复方法是将
class='displaynone'
替换为
style='display:none'
,并使用
.hide()
隐藏元素。在这种情况下,仅使用内联样式特性

$(文档)。在('单击','菜单',函数()上){
如果($(this).is(':checked'))
$(this.parent().find('ul').slideDown('slow');
其他的
$(this.parent().find('ul').hide();
});

复选框
  • 复选框L2

菜单
元素在哪里?您所展示的代码中没有一个。这可能是由于无法再复制的打字错误,或者您在此处的详细信息不是一个完整的文档。但有一件事是肯定的——不清楚你的要求是什么。这意味着您有多个具有相同ID的元素too@RoryMcCrossan. 请参阅更新的问题。菜单元素工作正常。因此,我避免了在问题中减少代码长度使用
change
事件而不是
click
为什么不直接使用
$(this).parent().find('ul').slideUp('slow')