//ojbNewRow.setAttribute("onMouseOut","this.bgColor = '#FBFBFB");
这里的引号有笔误

解决方案 »

  1.   

    不一定要搞的那么复杂吧?
    你把事件设置在table上,事件处理程序中判断一下就可以了
      

  2.   

    setAttribute这个方法我在以前设置的时候就有问题
    有些属性就是设不上去,在outerHTML里可以显示,就是不能用。
    换下吧,就直接对那个对象添事件吧<table id="table1" border="1">
    <tr onmouseover="this.bgColor = '#ff0000'"><td>sadfsdf</td>
    </tr>
    </table>
    <script type="text/javascript"> 
    function show()
    {
    var ojbNewRow = document.createElement("TR"); 
            var ojbNewCell =  document.createElement("TD"); 
                      /*
                        这里要给tr加onClick,onMouseOut,onMouseOver这三个事件
                        但事件没有响应
                      */
                      
    //ojbNewRow.attachEvent("onClick",new Function('deleteItem(this)'));
    //ojbNewRow.setAttribute("id","'tr1'");
    //ojbNewRow.setAttribute("onmouseout","this.bgColor = '#ff0000'");
    //ojbNewRow.setAttribute("onmouseover","this.bgColor = '#0000ff'");
    ojbNewRow.style.cursor="hand";
    ojbNewRow.onmouseover=function haha(){this.bgColor = '#ff0000'}
    ojbNewRow.bgcolor="#FBFBFB";
    ojbNewRow.align="center";
    ojbNewRow.height=80;
    ojbNewCell.innerHTML="haha"
    ojbNewRow.appendChild(ojbNewCell);
    document.getElementById("table1").childNodes[0].appendChild(ojbNewRow);
    alert(document.getElementById("table1").innerHTML);
    }
    </script>
    <input name=haha type=button onclick=show()>
      

  3.   

    setattribute方法好像不能注册事件绑定
      

  4.   

    可以在createElement时就指定这些属性|事件等<table id="table1" border="1">
    <tr onmouseover="this.bgColor = '#ff0000'"><td>sadfsdf</td>
    </tr>
    </table>
    <script type="text/javascript"> 
    function show()
    {
    var ojbNewRow = document.createElement("<tr onclick='deleteItem(this);' id=tr1 bgcolor=#cccccc align=center height=80 onmouseover='this.bgColor=\"red\"'>"); 
            var ojbNewCell =  document.createElement("TD"); 
    ojbNewCell.innerHTML="haha"
    ojbNewRow.appendChild(ojbNewCell);
    document.getElementById("table1").childNodes[0].appendChild(ojbNewRow);
    alert(document.getElementById("table1").innerHTML);
    }
    </script>
    <input name=haha type=button onclick=show()>
      

  5.   

    楼主,看来你对 XML生成表格还是比较懂
    帮我解决这个问题行不 
    http://community.csdn.net/Expert/topic/4455/4455152.xml?temp=.401333
      

  6.   

    楼主可以这样测试一下,看看td和tr是否真的生成了
    同时也看看事件属性是否正确的添加了
    alert(document.documentElement.innerHTML);
      

  7.   

    我上面已经说了啊
    setAttribute这个方法你在innerHTML中是能看见有这个事件的,但是不能运行。如果允许还是换方法吧
      

  8.   

    ojbNewRow.onmouseover=function haha(){this.bgColor = '#ff0000'}
    这样事件还是没有响应 var ojbNewRow = document.createElement("<tr onclick='deleteItem(this);' id=tr1 bgcolor=#cccccc align=center height=80 onmouseover='this.bgColor=\"red\"'>"); 
            var ojbNewCell =  document.createElement("TD");
    这种方法能实现。 偶其实要做个页面无刷新对数据库记录的增加,删除,修改。
    谢谢大家的回答!