Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何保持嵌套<;李>&书信电报;a>;标记是否活动且可见?_Javascript_Jquery_Menu_Html Lists_Submenu - Fatal编程技术网

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');
    });