[英]jQuery List Toggle Children
My problem is when I click on the #topmenu it conflict's with another menu that I have 我的问题是,当我单击#topmenu时,它与我拥有的另一个菜单冲突
I want to open children UL element when li is clicked 当我单击li时,我想打开儿童UL元素
Javascript Code: JavaScript代码:
$("#topmenu").click(function(){
$(".treeview-menu").addClass("treeview-menu open").toggle();
});
HTML 的HTML
<ul class="sidebar-menu" id="treeview-menu">
<li class="treeview" id="topmenu">
<a href="#"><i class="fa fa-table"></i><span>Financeiro</span>
<i class="fa fa-angle-left pull-right"></i></a>
<ul class="treeview-menu">
<li><a href="#"><i class="fa fa-circle-o"></i>Pagamentos</a></li>
<li><a href="#"><i class="fa fa-circle-o"></i>Relatórios</a></li>
</ul>
</li>
<li class="treeview" id="topmenu">
<a href="#"><i class="fa fa-table"></i><span>Financeiro</span>
<i class="fa fa-angle-left pull-right"></i></a>
<ul class="treeview-menu">
<li><a href="#"><i class="fa fa-circle-o"></i>Pagamentos</a></li>
<li><a href="#"><i class="fa fa-circle-o"></i>Relatórios</a></li>
</ul>
</li>
</ul>
Changed the class name and id name of 2nd ul and li tag. 更改了第二个ul和li标签的类名和ID名称。 Works fine 工作正常
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<style>
</style>
</head>
<body>
<ul class="sidebar-menu" id="treeview-menu">
<li class="treeview" id="topmenu">
<a href="#"><i class="fa fa-table"></i><span>Financeiro</span>
<i class="fa fa-angle-left pull-right"></i></a>
<ul class="treeview-menu">
<li><a href="#"><i class="fa fa-circle-o"></i>Pagamentos</a></li>
<li><a href="#"><i class="fa fa-circle-o"></i>Relatórios</a></li>
</ul>
</li>
<li class="treeview1" id="topmenu1">
<a href="#"><i class="fa fa-table"></i><span>Financeiro</span>
<i class="fa fa-angle-left pull-right"></i></a>
<ul class="treeview-menu1">
<li><a href="#"><i class="fa fa-circle-o"></i>Pagamentos</a></li>
<li><a href="#"><i class="fa fa-circle-o"></i>Relatórios</a></li>
</ul>
</li>
</ul>
<script>
$(document).ready(function(){
$(document).ready(function(){
$("#topmenu").click(function(){
$(".treeview-menu").addClass("treeview-menu open").toggle();
});
$("#topmenu1").click(function(){
$(".treeview-menu1").addClass("treeview-menu open1").toggle();
});
});
</script>
</body>
</html>
You have medley of IDs with same names. 您有多个具有相同名称的ID。
Use classes for common JS behavior. 将类用于常见的JS行为。
$(".treeview").click(function(){
$(this).find(".treeview-menu").addClass("open").toggle();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.