objs = document.getElementById('tdTree').getElementsByTagName("input");
        for(var n=0;n<objs.length;n++)
        {          
            var objInput  =  objs[n];
            objInput.title = '1';
            if(objs[n].type=="radio")
            {
                var tit = objInput.title;                
                objInput.onclick = function(){changeCheckBoxList(tit)};
//这里能不能让changeCheckBoxList()方法带的参数是'1',而不是运行后的'1111'呢?
                objInput.title = '1111';
            }
        }

解决方案 »

  1.   

    (function(){
        //在此写你的方法,用闭包保持现场
    })()
      

  2.   


    方法调用的值是以前的
    比如以前title是1
    那方法就调用1
    但最后要求把title显示为“OK”
      

  3.   

                    var tit = objInput.title;               
                    objInput.onclick = function(){changeCheckBoxList(tit)}(tit); 
      

  4.   

    语法不对,onclick需要一个函数,function(){changeCheckBoxList(tit)}(tit)显然不会返回一个函数。而且定义的是一个没有参数的匿名函数,却传了一个tit过去。虽然也能传,那至少也要用arguments来取才成。
    LZ试试这样看有没有问题。
    var tit = objInput.title;
    objInput.onclick = (function(title){
      return function() {
        changeCheckBoxList(title);
      };
    })(tit);