javascript - 如何用jquery实现树形菜单

标签 javascript jquery html css

我想为这个例子实现树形菜单。首先必须关闭所有。 当我们单击 facility Bulidngs 时,必须以树格式显示,然后如果我们单击 XYZ building Floors,则必须显示。像那样....

我试过这段代码但没有用任何人都可以帮助我。

    $('.treemenu').click(function () {
        $(this).parent().children('ul.subtree');
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<ul class="treemenu">
    <li>Facility
    <ul class="subtree">
    <li>Building
    <ul class="subtree">
    	<li>Royal Building</li>
    	<li>Taj Building</li>
    	<li>XYZ Building
    		<ul class="subtree">
    			<li>Floors
    				<ul class="subtree">
    					<li>1st Floor</li>
    					<li>2nd Floor</li>
    					<li>3rd Floor</li>
    				</ul>
    			</li>
    		</ul>
    	</li>
    </ul>
    </li>
    </ul>
    </li>
    </ul>

最佳答案

  1. 隐藏所有子树。
  2. 添加将在点击父项时切换子树的 js。

<style>
    .subtree{
        display: none;
    }
    .treeitem{
        cursor: pointer;
    }
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script>
    $(document).ready(function () {
        $('.treeitem').click(function () {
            $(this).next('ul.subtree').toggle();
        });
    });
</script>
<ul class="treemenu">
    <li><span class="treeitem">Facility</span>
        <ul class="subtree">
            <li><span class="treeitem">Building</span>
                <ul class="subtree">
                    <li>Royal Building</li>
                    <li>Taj Building</li>
                    <li><span class="treeitem">XYZ Building</span>
                        <ul class="subtree">
                            <li><span class="treeitem">Floors</span>
                                <ul class="subtree">
                                    <li>1st Floor</li>
                                    <li>2nd Floor</li>
                                    <li>3rd Floor</li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>

关于javascript - 如何用jquery实现树形菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39827787/

相关文章:

html - 如何使用带有模块化比例的 SASS 为所有 header 生成尺寸

html - 图像旁边的断线文本,垂直居中

javascript - 从 "obj.obj1.obj2.data' 这样的字符串创建深层对象

jquery - 水平 Jquery 菜单 - 试图停止动画队列

javascript - 从 iFrame 中存在的其他框架调用 JavaScript 函数

jquery - 粘性菜单稍微移动?

javascript - 如何在页面加载时折叠所有选项卡?

Javascript 登录时钟

javascript - 自动完成标签,如 Stack Overflow

javascript - 通过类名获取ID JQuery