if($(this).parents("ul").closest("#menu-main").length){
var parent = $(this).parent();
parent.addClass("current");
if(parent.hasClass("more-options")){
$(parent).siblings(".more-options-page").addClass("current").show();
}
}
不是用if语句重复addClass(),而是如何将show()添加到第一个带有“more-options”类的父级?
答案 0 :(得分:1)
如果您愿意,可以将所有必要的方法调用链接起来(将可选过滤器提供给the parent method):
if ($(this).parents("ul").closest("#menu-main").length) {
$(this).parent().addClass("current");
$(this).parent(".more-options").show().siblings(".more-options-page").addClass("current").show();
}
<强>更新强>
是的,它可以在一行中完成,但不完全可读:
if ($(this).parents("ul").closest("#menu-main").length) {
$(this).parent().addClass("current").filter(".more-options").show().siblings(".more-options-page").addClass("current").show();
}