javascript - 将焦点放在 Html.ActionLink 菜单中

标签 javascript jquery css

我的问题是:我想要一个菜单​​来清除以前访问过的链接(再次将它们变为正常),但将当前访问过的链接保持为 a:visited in css。

我找到了一种方法来做到这一点。但问题是它不起作用!这是我的代码:

< ul id="menuTop">
  < li id="menu-link-1">
    @Html.ActionLink("Home", "Index", null, null, new { id = "link-1-visited" })
  </li>
  < li id="menu-link-2">
    @Html.ActionLink("Produtos", "Products", null, null, new { id = "link-2-visited" })
  </li>

  < li id="menu-link-3">
    @Html.ActionLink("Fale Conosco", "ContactUs", null, null, new { id = "link-3-visited" })
  </li>

  < li id="menu-link-4">
    @Html.ActionLink("Quem Somos", "AboutUs", null, null, new { id = "link-4-visited" })
  </li>
< /ul>

这是我的按钮,让它们“被访问”的代码是:

$(document).ready(function() {
    $('#link-1-visited').click(function() {
        $("#menu-link-1").removeAttr("menu-link-1");
        $(this).addClass('link-1-visited');
        window.alert("test 1 !!");
    });

    $('#link-2-visited').click(function() {
        $(this).addClass('link-1-visited');
        window.alert("test 2 !!");
    });

    $('#link-3-visited').click(function() {
        $(this).addClass('link-1-visited');
        window.alert("test 3 !!");
    });

    $('#link-4-visited').click(function() {
        $(this).addClass('link-1-visited');
        window.alert("test 4 !!");
    });
});

我的 CSS 代码是:

ul#menuTop li#menu-link-1 a {
    background-image: url("../Content/images/Menu/menu-image-1-alt.png");
    margin-right: 1px;
}

ul#menuTop li#menu-link-1 a:hover {
    background-image: url("../Content/images/Menu/menu-image-1-hover.png");
    margin-right: 1px;
}

.link-1-visited {
    padding: 40px 20px 20px;
    border-width: 3px;
    border-bottom: 0px;
    border-style: solid;
    // more styles below...
}

ul#menuTop li a {
    border: 3px #98fb98 solid;
    border-bottom: 0px;
    //more styles below...
}

ul#menuTop li a:hover {
    padding: 40px 20px 20px;
    border-width: 3px;
    border-bottom: 0px;
    border-style: solid;
    //more styles below...
}

问题是我在 menu-link-1 中的代码不起作用。我想删除 ul 和 li css 并向其添加类“link-1-visited”。

关于我该怎么做,您有什么想法吗?

最佳答案

$("#menu-link-1").removeAttr("menu-link-1");

你想在这里做什么? menu-link-1 不是 li 的属性,它是 id。如果您尝试添加和删除类,只需给它一个类即可。

关于javascript - 将焦点放在 Html.ActionLink 菜单中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17667178/

相关文章:

javascript - React-虚拟化 : CellRender goes under next Row

javascript - 使用 jquery 获取 <td> 中隐藏字段的值

html - 在标题中嵌入 Bootstrap 3 导航栏

javascript - 如何在 JavaScript 中声明公共(public)方法和私有(private)方法

javascript - 如何限制用户只能选中5个复选框

javascript - 我无法让我的标题显示在我的灯箱中

javascript - 尝试使用 jQuery 获取表中 img src 和 'star rating' 列的选择器

CSS 粘性页脚在 8250 BlackBerry 设备上不起作用

html - href"#"不适用于 :focus on firefox browser

javascript - 如何使用 codeigniter 将动态输入值插入数据库?