Javascript jQuery和HTML如何在下拉菜单中使用存储
我有个问题要问你 我有一个带有下拉菜单“切换按钮”的侧边栏。HTML代码如下所示Javascript jQuery和HTML如何在下拉菜单中使用存储,javascript,html,jquery,drop-down-menu,Javascript,Html,Jquery,Drop Down Menu,我有个问题要问你 我有一个带有下拉菜单“切换按钮”的侧边栏。HTML代码如下所示 <div class="container-fluid"> <div class="row"> <nav class="col-md-2 d-none d-md-block bg-dark sidebar"> <div class="sidebar-sticky"> <ul class="nav flex-colu
<div class="container-fluid">
<div class="row">
<nav class="col-md-2 d-none d-md-block bg-dark sidebar">
<div class="sidebar-sticky">
<ul class="nav flex-column">
<li class="nav-item" id="sidebar">
<a class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1" href="#firstSubmenu" data-toggle="collapse"
aria-expanded="false" class="dropdown-toggle">Performance Monitoring<span data-feather="plus-circle"></span></a>
<ul class="collapse list-unstyled" id="firstSubmenu">
<li>
<a class="nav-link" href="#">
<span data-feather="monitor"></span>
Dashboard</a>
</li>
<li>
<a class="nav-link" href="/conto_economico">
<span data-feather="trending-up"></span>
Conto Economico</a>
</li>
....
您已经将容器设置为li元素,并且正在尝试在锚元素集中查找其索引。您需要在li元素的集合中查找索引。像这样
var container = $(this).closest("li");
var selected_item_index = $("#sidebar li").index(container);
此外,在使用setStorage将li类设置为活动后,您可能希望从其他同级元素中删除活动类。此外,用于getstorage和setstorage的键名也不同。它们应该是相同的
$("#sidebar li").eq(parseInt(localStorage.getItem("sidebar_selected "))).addClass("active").siblings().removeClass('active');
我已经尝试了你的代码,但仍然不起作用。我也用你的建议更新了我的答案,以检查是否有一些建议errors@FedericoDeMarco:你能在上面用最少的HTML和JS包含工作代码段吗?可以调试和修复wayOkey@Milind Anantwar我用完整的html和JS编辑的问题。我希望现在可以检查我的错误用于setstorage和getstorage的键名不同。它应该是相同的,而不是你能更好地解释我修改你的答案吗?
$("#sidebar li").eq(parseInt(localStorage.getItem("sidebar_selected "))).addClass("active").siblings().removeClass('active');