function me(object)
{
    for(int i=0;i<27;i++)
    {
        if(i == object || i == object+1 || i == object-1 )
        {
            var aa=document.getElementById("aa_"+i);
            aa.ClassName = "aaa";
        }
        else
        {
            var bb=document.getElementById("aa_"+i);
            aa.ClassName = "bbb";
        }
    }
}报错,请问如何修改??

解决方案 »

  1.   

    for(int i=0;i<27;i++)for(var i=0;i<27;i++)别把后台语言和js搞混了
      

  2.   


    正解,我也遇到过 js中应该用var
      

  3.   


    我更改了,但是现在出现的问题是“document.getElementById();” 为空或不是对象。
    <a id="aa_1" onmouseover="me(1);" href="/projects/attn.aspx" title="经办人">经办人</a>
      

  4.   

    1:让script在这些a标签的后面2:或者,执行那个function me(object)是在window.onload中
    window.onload=me;
      

  5.   


    function me(object)
    {
        for(var i=0;i<27;i++)
        {
            if(i == object || i == object+1 || i == object-1 )
            {
                document.getElementById("aa_"+i).className = "aaa";
            }
            else
            {
                document.getElementById("aa_"+i).className = "bbb";
            }
        }
    }<a id="aa_1" onmouseover="me(1);" href="/projects/attn.aspx" title="经办人">经办人</a>
                                <a id="aa_2" onmouseover="me(2);" href="/projects/addProjects.aspx">立项情况</a>
                                <a id="aa_3" onmouseover="me(3);" href="/projects/adminapprovel.aspx">立项要件审批</a>
                                <a id="aa_4" onmouseover="me(4);" href="/projects/appravel/biddingAppravel.aspx">招标核准</a>
                                <a id="aa_5" onmouseover="me(5);" href="/projects/projectsAgent.aspx">招标代理情况</a>
    还是不太明白,不知道改怎么改
      

  6.   

    这样试试window.onload = function() {
        (function (object) {
        var aa=document.getElementById("aa_"+i);
        for(var i=0;i<27;i++) {
            if(i == object || i == object+1 || i == object-1 ) aa.ClassName = "aaa";
            else aa.ClassName = "bbb";
        }
    })();
    }
      

  7.   

    错了,还有实参window.onload = function() {
      (function (object) {
      var aa=document.getElementById("aa_"+i);
      for(var i=0;i<27;i++) {
      if(i == object || i == object+1 || i == object-1 ) aa.ClassName = "aaa";
      else aa.ClassName = "bbb";
      }
    })("这是实参");
    }
      

  8.   


      <a id="aa_1" onmouseover="me(this);" href="/projects/attn.aspx" title="经办人">经办人</a>
    <script>
    function me(o)
    {
        var n=1*o.id.replace("aa_","");
        for(var i=0;i<27;i++)
        {
            if(i == n || i == n+1 || i == n-1 )
            {
                //var aa=document.getElementById("aa_"+i);
                o.ClassName = "aaa";
            }
            else
            {
                //var bb=document.getElementById("aa_"+i);
                o.ClassName = "bbb";
            }
        }
    }</script>
      

  9.   

    你这样用法不用写到后面1:你的for从0开始,但从你的DOM看,第一个就是aa_1,aa_0并没有。所以你的for循环是不是应该改成从1开始?
    2:假如你是要前后相连的都改变样式为aaa,那你的条件判断就没错,否则,检查你的判断条件
    3:你的for循环中i<27,你确定从aa_1~aa_26都一定存在于页面中?如果是,则没问题。否则,你应该加多一个判断:
    if(document.getElementById("aa_"+i)){
        document.getElementById("aa_"+i).className = "aaa";
    }
    if(document.getElementById("aa_"+i)){
        document.getElementById("aa_"+i).className = "bbb";
    }自己一项一项对着来吧
      

  10.   


    谢谢哈,写FOR的时候没有注意这个。