日期:2014-05-16  浏览次数:20387 次

一个关于JQ切换style的问题。
JScript code

    $("#nav>ul>li").click(function () {
        $("#leftmenu").html($(this).find("div").html());
        $("#leftmenu>ul>li>a").click(function () {
       //     $(this).addClass("leftmenuclicka");
      //      $(this).siblings().removeClass("leftmenuclicka");
            $(this).parent("li").children().removeClass("leftmenuclicka");
            $(this).addClass("leftmenuclicka");
            //     alert("turn to pa");
        });
    });





HTML code

      <ul>
        <li><a>第一个</a></li>
        <li><a>第2个</a></li>
        <li><a>第3个</a></li>
        <li><a>第4个</a></li>
      </ul>



 当我点击完第一个a时候,a添加了设定的CLass,但我点击第二个A时候, 第一个A的样式还在。。。
还有,为什么用siblings方法也不能选取兄弟元素,于是我只能用$(this).parent("li").children().removeClass("leftmenuclicka");。

------解决方案--------------------
先移除所有a的class
$("#leftmenu>ul>li>a").removeClass("leftmenuclicka");
$(this).addClass("leftmenuclicka");

你的a没有兄弟元素啊,那些a不是兄弟元素
------解决方案--------------------
JScript code
$("ul>li").click(function () {
                $(this).addClass("leftmenuclicka").siblings().removeClass("leftmenuclicka");
            });