0

我的问题是:我想要一个菜单​​来清除以前访问过的链接(再次将它们恢复正常),但将当前访问过的链接保持为 a:visited 在 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”。

你对我该怎么做有什么想法吗?

4

2 回答 2

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

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

于 2013-07-16T03:09:19.587 回答
0

试试这个......(切换thise.currentTargete 并将其传递给 function function(e)

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

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

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

  $('#link-4-visited').click(function(e)
  {
    $(e.currentTarget).addClass('link-1-visited');
    window.alert("test 4 !!");
  });
});
于 2013-07-17T04:43:36.627 回答