解决方案 »

  1.   

    没错耶,是不是没有阻止默认动作,跑了。
    $(function(){
    var $a = $('#navigate a');
    for(var i=0;i<$a.length;i++){
    $($a[i]).click(function(){
    var $url= $(this).attr('href');
    var $css='.about'+',.'+$url.substring($url.indexOf('=')+1,$url.length);
    $($css).css('backgroundColor','red');
    return false;
    });
    }
    })
      

  2.   

    <div class="about us"></div>
    <div class="about us"></div>
    <div class="about us"></div>
    <div class="about us"></div>
    <div class="about us"></div>
    是不是你这些class命名的原因
      

  3.   

    阻止一下默认事件 试试~~
    ...
    $(a[i]).click(function(e){
        e.preventDefault();
    ...
      

  4.   


    效果出来了,但是点击一个按钮时,所有的div都显示出来了。不知道这个怎么运行的..
    另:class没错:分别是;about us   about communicate     about job   about ad    about forum
      

  5.   

    var $css='.about'+'.'+$url.substring($url.indexOf('=')+1,$url.length);没,号
      

  6.   


    这里有什么讲究吗?加了“,”之后点击任何一个a就会显示所有div,但是没有“,”就正常了。
    求大神解释..
      

  7.   

    css 选择符的用法。
    sizzle 就是以css的写法封装的。
      

  8.   

    既然用jq何必写得这么麻烦$(function(){
    $("#navigate li a").click(function(){
    var i = $(this).index();
    $(".about").eq(i).show().siblings().hide()
    })
    })
      

  9.   

        $(function () {
            $("#navigate li a").click(function () {
                var i = $(this).parent().index();
                $("div.about").eq(i).show().end().not(':eq(' + i + ')').hide();
                return false
            })
        })