<ul id="menu"> <li id='1002'>根目录1 <ul class="sub_menu" id='sub_1002' style="display:none"> <li>子目录1-1</li> <li>子目录1-2</li> </ul> </li> <li id='1221'>根目录2 <ul class="sub_menu" id='sub_1221' style="display:none"> <li>子目录2-1</li> <li>子目录2-2</li> </ul> </li> <li id='1232'>根目录3 <ul class="sub_menu" id='sub_1232' style="display:none"> <li class='current'>子目录3-1</li> <li>子目录3-2</li> </ul> </li> </ul>
这是一个二级菜单,当前位置是根目录3下面的子目录3-1其属性为current,现在想选择当前子目录3-1所在的<ul>元素,将其取消隐藏;再选择当前子目录3-1所在的上一级目录“根目录3”的<li>元素,并添加其属性改为"menuon",我的代码如下:
<script> $(".sub_menu li[class='current']").parent().show(); $(".sub_menu li[class='current']").parents().addClass("menuon"); </script>
结果是所有隐藏的二级目录全部显示出来了,根目录3也没有添加menuon属性。
请教各位,怎么样才能只选择当前元素的直接上级元素,而不是遍历所有上级同类元素。我想利用id来精确选择某一个上级元素,但是不知道怎么表达出来。
$(".current").parent(".sub_menu").show();
$(".current").parent("#1232").addClass("menuon");