我试图创建一个简单的移动下拉菜单,使用单击显示子菜单。我想只有jQuery的ul项目,有子菜单的被称为单击,然后有权限只影响他们下面的li。简而言之,我点击一个按钮,就会显示该按钮的下拉菜单。
如果可能的话,我希望不必用ID来命名它们。我想让它更通用,可以被所有的菜单使用。
这是我尝试的jQuery脚本之一。调用html和css的jQuery行都不起作用。
$('nav ul > li > ul > li.active').click(function() {
alert("It worked! ");
$('ul > li').show();// This also does not work.
});
这是导航菜单。
<nav>
<ul>
<li><a href="home">Home</a></li>
<li><a href="mission">Mission</a></li>
<li><a href="co-op">Co-op</a>
<!-- First Tier Drop Down -->
<ul>
<li><a href="hybrid-model">Hybrid Model</a></li>
<li><a href="classical-education">Classical Education</a></li>
<li><a href="courses">Courses</a></li>
<li><a href="tuition">Tuition</a></li>
<li><a href="uniforms">Uniforms</a></li>
<li><a href="staff">Staff</a></li>
<li><a href="documents">Ducuments</a></li>
</ul>
</li>
<li><a href="Catechesis-of-The-Good-Shepherd">Catechesis of The Good Shepherd</a>
<ul>
<li><a href="what-is-cgs">What Is CGS?</a></li>
<li><a href="level-1">Level 1</a></li>
<li><a href="level-2">Level 2</a></li>
<li><a href="level-3">Level 3</a></li>
<li><a href="uniforms">Uniforms</a></li>
<li><a href="atrium-child">The Atrium Child</a></li>
<li><a href="atrium-adult">The Atrium Adult</a></li>
</ul>
</li>
<li><a href="about">About Us</a>
<ul>
<li><a href="board-members">Board Members</a></li>
<li><a href="Pro-Ecclesia-Sancta-Catholic-Advance-Movement">Pro Ecclesia Sancta /<br>Catholic Advance Movement</a></li>
</ul>
</li>
<li><a href="contact">Contact</a></li>
</ul>
</nav>
这是一个解决方案,我没有使用ID的,但类:
$('li.dropdown').click(function() {
$('.dropdown.dropdown-open').removeClass('dropdown-open');
$(this).toggleClass('dropdown-open');
});
http://jsfiddle.net/o1t40hn1/我不知道你想用你的JS实现什么,因为你不能点击隐藏的东西。所以你需要点击有ul的li。您也可以不使用我使用的类来实现它,例如:
$('li').click(function() {
if ($(this).find('ul')){
$('nav > ul > li > ul').hide();
$(this).find('ul').show();
}
});
开始:http://jsfiddle.net/b82ed0z3/