我的jQuery:
$("ul.dropdown ul").slideDown("slow"); $("ul.dropdown ul ul").children().hide();
这会导致与第二个选择器匹配的那些显示一段时间.如何从第一组中排除第二组,仅显示第一组?
我的HTML:
<ul class="dropdown"> <li style="margin: 0px"> <span id="header"> <img src="back.gif" alt='background' style="border:none;" /> <span style="position: absolute; top: 5px; left: 2px;"> <img src="button.gif" style="border:none;" /> </span> <span style=" position: absolute; top: -5px; left: 70px;"> <p style="background-color: white; width: 200px; height: 20px; font-size: 1.2em; border: 2px solid blue">Menu</p> </span> </span> <ul class="sub_menu"> <li><a href="#">Artificial Turf</a></li> <li><a href="#">blah</a></li> <li id="1"> <a id="1.1" href="#">Batting Cages</a> <ul id="2"> <li><a href="#">Indoor</a></li> <li><a href="#">Outdoor</a></li> </ul> </li> <li><a href="#">Benches & Bleachers</a></li> <li><a href="#">Communication Devices</a></li> <li><a href="#">Dugouts</a></li> <li><a href="#">Fencing & Windscreen</a></li> <li><a href="#">Floor Protectors</a></li> <li><a href="#">Foul Poles</a></li> <li><a href="#">Netting</a></li> <li><a href="#">Outdoor Furniture & Storage</a></li> <li><a href="#">Outdoor Signs</a></li> <li><a href="#">Padding</a></li> <li><a href="#">scoreboards</a></li> <li><a href="#">Shade Structures</a></li> <li><a href="#"> - VIEW ALL - </a></li> </ul> </li> </ul>
解决方法
这可能会奏效:
$("ul.dropdown > li > ul").slideDown("slow");
“>” 中仅指直接儿童(http://docs.jquery.com/Selectors/child#parentchild).所以只要你的heirarchy是这样的(在你刚刚编辑之后,它似乎就是这样):
<ul> <li> <ul> ..
它很可能会奏效.希望相关的变化很明显……