javascript - Jquery 自动选择菜单项。

标签 javascript jquery html css

您好,我正在尝试在用户单击导航项后选择它们,并且在页面加载后它们应该保持选中状态。我尝试了很多例子,但没有一个对我有用。

这是标题中的内容。

<nav id="navigation">

<ul id = "nav-ul">
        <li><a href="<?php echo $this->base?>/Logins/index">item1</a></li>
        <li> <a href="<?php echo $this->base?>/Logins/item2">item2</a></li>
        <li><a href="<?php echo $this->base?>/Logins/item3">item3</a></li>

</ul>

    </nav>

这是我在 script.js 中的内容。所有文件中都添加了脚本。

我试过的最后一个

$(document).ready(function(){


    $('#navigation ul li a').each(function(index) {
        if(this.href.trim() == window.location)
            $(this).addClass("selected");
    });
});

比试过这个

$(document).ready(function(){

    var pgurl = window.location.href.substr(window.location.href
        .lastIndexOf("/")+1);
    $("#navigation ul li a").each(function(){
        if($(this).attr("href") == pgurl || $(this).attr("href") == '' )
            $(this).addClass("active");
        $("#navigation ul li a").selected
    })
});

似乎没有任何效果。

最佳答案

这是你的标记

<ul id = "nav-ul">
    <li><a href="<?php echo $this->base?>/Logins/index"    >item1</a></li>
    <li> <a href="<?php echo $this->base?>/Logins/item2"      >item2</a></li>
    <li><a href="<?php echo $this->base?>/Logins/item3"      >item3</a></li>

然后
获取文件名

filename = location.pathname.substring(location.pathname.lastIndexOf("/") + 1);

然后通过jquery找到 anchor 标签

$("a[href$="+filename +"]").addClass("selected")

希望对你有帮助

关于javascript - Jquery 自动选择菜单项。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24207208/

相关文章:

javascript - 是否有为 Internet Explorer 10 渲染 Grid-Gap CSS 属性的解决方法?

javascript - 如何添加自定义图 block 集作为 mapbox.js 图层?

jquery - 使用 Jquery 提交表单,按钮可以工作,但按 'enter' 时不起作用

html - 在段落下方右对齐显示按钮

javascript - 如何阻止用户从控制台执行javascript代码?

javascript - 使用 javascript 将 html(或 html 输出)渲染到 Google Drive Docs(word)

javascript - 谷歌地图 JavaScript v3+php

javascript - 无法使用 CSS/JavaScript 在单个 div 中创建 100 个 div

html - 欢迎文件在 spring 中不使用 html 文件

javascript - 为 JSON 数据列表创建新窗口/页面/模态的最佳方法