//点击改变行背景色
function changeBg(obj){
    var theTable = document.getElementById('tab1');
    var rows = theTable.rows;
    var rlength = rows.length; 
    for(var i=1;i<rlength;i++){
       
       if(obj.rowIndex == i){
           rows[i].style.backgroundColor = 'yellow';
           }
       else
           rows[i].style.backgroundColor = 'white';
     }
    
   }//添加行
   function addSave(){
       var tab1 = document.getElementById('tab1');
       var txt=document.getElementsByName("txta");
       var iRow =  tab1.insertRow(tab1.rows.length-1);
       var cell1 =  iRow.insertCell();
         var cell2 =  iRow.insertCell();
         var cell3 =  iRow.insertCell();
           var cell5 =  iRow.insertCell();
       //iRow.onclick = changeBg(this); 无效!报错:"错误:尚未实现"...什么意思?改怎么做?
             //cell5.align = 'right' 无效!为什么呢?应该怎么做?
   }各位大大!应该怎么做啊?

解决方案 »

  1.   

    iRow.onclick = (function(obj){
        return function(){ changeBg(obj); }
    })(iRow); cell5.style.textAlign = "right" // 试试看
      

  2.   


    iRow.onclick =function(){ changeBg(this)}; //因为这里报错,所以下边的不能执行。
    cell5.align = 'right' 无效!为什么呢?应该怎么做?我们平时在dom上写的onclick="alert(1);"这样的语句<==>onclick="function(){alert(1);}"
      

  3.   

    强大……可以了。iRow.onclick = 
    (function(obj){
         return function()
            { changeBg(obj); }
    })  (iRow); 
    我想问一下,为什么这么写就可以。这个 (function(obj){
          return function(){changeBg(obj); }
        })  
     是什么意思?
    (iRow) 又是什么意思?
      

  4.   

    iRow.onclick = changeBg(this)改为 iRow.onclick = function(){changeBg(this)};像你写的实际是在调用changeBg函数,而不是绑定事件