我试图制作一个下拉菜单并点击它打开子菜单并点击它们关闭它们,但我甚至无法通过点击来隐藏我的子菜单开始。
这是我的JQuery代码:
$(document).ready(function(){
$("#timeli").click(function(){
$("#timeUlSub").hide();
});});
这是我想要隐藏/显示的HTML代码
<div class="timeline">
<ul>
<li id="timeli">1996
<ul id="timeUlSub">
<li>
<p class="timeline-date">1997</p>
<p class="timeline-description">This is in the submenu</p>
</li>
</ul>
</li>
<li>1999</li>
<li>2000</li>
<li>2004</li>
<li>2006</li>
<li>2007</li>
</ul>
</div>
我在jquery端做错了吗?因为我在这里看到的应该是有效的,但事实并非如此。
答案 0 :(得分:2)
答案 1 :(得分:1)
$(document).ready(function(){
$("#timeli").on('click', function()
{
$("#timeUlSub").toggle();
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="timeline">
<ul>
<li id="timeli">1996
<ul id="timeUlSub">
<li>
<p class="timeline-date">1997</p>
<p class="timeline-description">This is in the submenu</p>
</li>
</ul>
</li>
<li>1999</li>
<li>2000</li>
<li>2004</li>
<li>2006</li>
<li>2007</li>
</ul>
</div>
&#13;
答案 2 :(得分:0)
#timeUlSub
是#timeli li
的一部分。将其移到li
之外。此外,jquery .slideToggle()
是一种比.hide()
更好的方法。
检查是否链接了Jquery。
答案 3 :(得分:0)
尝试使用条件用法:
$(document).ready(function(){
$("#timeli").on('click', function(){
if($("#timeUlSub").is(':hidden')){
$("#timeUlSub").show();
} else {
$("#timeUlSub").hide();
}
});
});
答案 4 :(得分:0)
<div class="timeline">
<ul>
<li id="timeli">1996
<ul id="timeUlSub">
<li>
<p class="timeline-date">1997</p>
<p class="timeline-description">This is in the submenu</p>
</li>
</ul>
</li>
<li>1999</li>
<li>2000</li>
<li>2004</li>
<li>2006</li>
<li>2007</li>
</ul>
</div>
#timeUlSub{
display:none;
}
$(document).ready(function(){
$("#timeli").click(function(){
$("#timeUlSub").toggle();
});});