为了账号安全,请及时绑定邮箱和手机立即绑定

我这变色只有前两行才变色,后面的都不变色怎么回事?而且使用不同浏览器效果还不同

<!DOCTYPE html>

<html>

 <head>

  <title> new document </title>  

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>   

  <script type="text/javascript"> 

  var m=document.getElementsByTagName("tr");

window.onload = function(){      

     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。

    for(var i = 1; i < m.length; i++) {

            bgcChange(m[i]);

        }

    }

    function bgcChange(obj) {

        obj.onmouseover = function() {

           obj.style.backgroundColor = "#f2f2f2";

        }

    obj.onmouseout = function() {

            obj.style.backgroundColor = "#fff";

        }

  }

      

     

      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;

     function add(){

      var parent=document.getElementById("table");

      var tr=document.createElement("tr");

      parent.appendChild(tr);

      for(var i=0;i<2;i++){

      if(i==0){

      var a=prompt("请输入学号:").valueOf();

      }else{

      var a=prompt("请输入姓名:").valueOf();

      }

      var td=document.createElement("td");

      td.innerHTML=a;

      tr.appendChild(td);

      }

      var td1=document.createElement("td");

      td1.innerHTML='<a href="javascript:;" onclick="remove(this)">删除</a>'

      tr.appendChild(td1);  

     }

     // 创建删除函数

    function remove(n){

        var m=n.parentNode.parentNode;

var r=m.parentNode;

r.removeChild(m);

    } 

  </script> 

 </head> 

 <body> 

   <table border="1" width="50%" id="table">

    <tr>

   <th >学号</th>

   <th>姓名</th>

   <th>操作</th>

</tr>  

<tr>

<td>xh001</td>

<td>王小明</td>

<td><a href="javascript:;" onclick="remove(this)">删除</a></td>   <!--在删除按钮上添加点击事件  -->

</tr>

<tr>

<td>xh002</td>

<td>刘小芳</td>

<td><a href="javascript:;" onclick="remove(this)">删除</a></td>   <!--在删除按钮上添加点击事件  -->

</tr> 

</table>

   <input type="button" value="添加一行" onclick="add()" />   <!--在添加按钮上添加点击事件  -->

 </body>

</html>


正在回答

3 回答

我的:

我的:

 window.onload = function(){ 
     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
        change();
}

② add那个函数最后加一个 chang();

function change(){
  var tr = document.getElementsByTagName("tr");
        
   for(var i=1; i<tr.length; i++){
    tr[i].onmouseover = function(){
        this.style.backgroundColor = "#f2f2f2";
    }
    tr[i].onmouseout = function(){
        this.style.backgroundColor = "#fff";
    }
   }
}


0 回复 有任何疑惑可以回复我~

这个动态添加的tr元素并没有绑定鼠标事件

0 回复 有任何疑惑可以回复我~

添加函数里需要再次调用bgcChange()

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我这变色只有前两行才变色,后面的都不变色怎么回事?而且使用不同浏览器效果还不同

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信