Javascript 如何保持嵌套<;李>&书信电报;a>;标记是否活动且可见?
我有这个网站(我指的是左侧嵌套列表菜单) 当我点击带有子链接的菜单(例如“关于印度消防安全”->其中的任何链接)时,页面打开,但“点击”菜单不可见。我想通过子链接(Javascript 如何保持嵌套<;李>&书信电报;a>;标记是否活动且可见?,javascript,jquery,menu,html-lists,submenu,Javascript,Jquery,Menu,Html Lists,Submenu,我有这个网站(我指的是左侧嵌套列表菜单) 当我点击带有子链接的菜单(例如“关于印度消防安全”->其中的任何链接)时,页面打开,但“点击”菜单不可见。我想通过子链接()查看整个) 以下是html代码: <li class="active"><a href="index.html"><span>Welcome</span></a></li> <li class='has-sub'><a href="">&
)查看整个
)
以下是html代码:
<li class="active"><a href="index.html"><span>Welcome</span></a></li>
<li class='has-sub'><a href=""><span>About Fire & Safety India</span></a>
<ul>
<li><a href="pdf/Fire-Safety-Layout.pdf" target="_blank"><span>Floor plan</span></a></li>
<li><a href="media-partners.html"><span>Support and Media Partners</span></a></li>
<li class='last'><a href="organisers.html"><span>About Organisers</span></a></li>
</ul>
</li>
当点击菜单时,整个页面都会刷新,同时也会刷新HTML。这样,您使用JavaScript完成的所有DOM操作都将丢失。无论您是添加了特定类还是删除了元素
解决这个问题的一种方法是使整个应用程序成为SPA(单页应用程序)。但我不认为再写一次整个网站是值得的
也许你在这里能做的最简单的事情就是获取URL和域名后的子字符串。所有HTML元素都应该与路由具有相同的ID。通过这种方式,您只需选择与URL子字符串具有相同ID的元素,然后添加类active
---编辑---
好的,首先我会告诉你一些我在浏览你的网站时看到的东西。导航中的大多数链接都不起任何作用。如果你不需要它们,就删除它们
您可以轻松地将html文件组织到文件夹中。例如,您将拥有一个主文件夹,其中存储所有.html文件<代码>索引.html
直接在其中。在index.html
旁边创建文件夹about
,并放置从导航中的about选项卡调用的所有.html文件
这样,您的URL看起来像http://firesafetyexpo.in/about/media-partners.html
修复导航中的href
(例如href=about/media partners.html
)
向导航中的所有主选项卡添加ID。(
(您不需要此处…这取决于您。您将使用
)获得相同的结果)
最后将此函数添加到JavaScript文件中
$(function() {
$('#cssmenu a#' + location.pathname.split("/")[1]).addClass('active');
});
我还没有试过这个代码。我真的希望它能起作用(:谢谢。但是我需要代码来理解这一点,因为我不是一个完全成熟的程序员。你能分享一点代码,让我继续剩下的工作吗..编辑了我的答案。我希望这更有帮助。谢谢编辑。我尝试了你的上述解决方案,它不起作用。谢谢编辑。我尝试了你的上述解决方案,它不起作用。问题:1。id=“about”
(你上面的建议)有什么用?2.我试图删除/保留我粘贴在这里的上面的JS代码并使用你的JS代码,但仍然不起作用。你能尝试一下,如果我只共享原始菜单的zip文件吗?这是[链接]()。我的要求:-子菜单选项卡的父链接也应该是可点击的(html页面)+子菜单应该是可见的。如果您尝试此操作,我将不胜感激。等待。谢谢。
$(function() {
$('#cssmenu a#' + location.pathname.split("/")[1]).addClass('active');
});