更改母版页中的菜单项类

时间:2013-12-13 21:34:35

标签: javascript jquery asp.net css menu

我在一个主页中有一个菜单项..我在点击时使用了javascript更改了类。它改变了类一秒钟,但当它重定向到其他页面时它变得相同..任何想法如何我应该这样做

我现在无法访问完整的代码礼,但它是这样的(我使用了一些警告框只是为了看看发生了什么......)

<style>
test1{ color: red;
   height:1000px;
      font-size:5px ;
       background-color:Aqua;
      } 

      test2 
      { font-family:Kozuka Mincho Pro M;
          color: red;
      font-size: 5px } 

<script type="text/javascript">
var lastid = "";
function myFunc(id) {
    alert(id);
    if (lastid != "") {
        document.getElementById(lastid).removeAttribute("class", "test2");
        document.getElementById(lastid).setAttribute("class", "test1");
        var a = document.getElementById(lastid);

        alert(a.getAttribute("class"));

    }
    var element = document.getElementById(id);
    document.getElementById(id).setAttribute("class", "test2");
    var cssid = id;
    $("#" + id).addClass('test1');


    alert(document.getElementById(id).getAttribute("class"));
    lastid = id;

}
    </script>


<li  id="firstry" onclick="myFunc(this.id);" ><a href="master-child.aspx"> Click</a> </li>

2 个答案:

答案 0 :(得分:1)

我使用Jquery完成了这个...它使事情变得更容易..这遍历菜单中的每个链接,然后添加它与当前页面匹配的类。 以下是脚本:

 <script type="text/javascript">
        $(document).ready(function () {
            $('#subnav a').each(function (index) {
                if (this.href.trim() == window.location)
                    $(this).addClass("selected");
            });
        });
  </script>

答案 1 :(得分:0)

执行此操作的一种方法是将类添加到与页面名称对应的body标记和CSS类。

<body id="home">

然后是活动菜单项的css,假设您的菜单项上有类名:

#home li.firstitem { ... }
#about li.seconditem { ... }