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

求大神!!

  如下代码:

为什么这样写没有效果。

    window.onload = function(){

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

        var tr=document.getElementById("table").childNodes;

        for(var i=0;i<tr.length;i++){

        if(tr[i].nodeType!=3){

        function mouseOver(){

            tr[i].style.backgroundColor="#f2f2f2" 

        }

        function mouseOut(){

            tr[i].style.backgroundColor="#fff"

        }

        }

        tr[i].onmouseover="mouseOver()";

        tr[i].onmouseout="mouseOut()";

        }

}

//

    var num=2;

  var btn=document.getElementsByTagName("input");

     btn.onclick="add()"

  function  add(){

    num++;

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

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

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

    td_a.innerHTML="xh00"+num;

    td_b.innerHTML="第"+num+"学生";

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

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

    var tab= document.getElementById("table")

    tab.appendChild(newtr)

    newtr.appendChild(td_a)

    newtr.appendChild(td_b)

    newtr.appendChild(td_c)

}

正在回答

2 回答

var tr=document.getElementById("table").childNodes;  你这是获取id为table的所有子节点的集合。。。这也包括文本节点。。。

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

慕圣9424722 提问者

对,就是获取他的所有子节点,元素<tr>和空白文本节点,然后想用if把文本节点过滤掉,剩下都是tr,现在我把 tr[i].style.backgroundColor="#f2f2f2" 中的tr[i]改为this还是没用,是if有问题吗?
2017-08-23 回复 有任何疑惑可以回复我~
#2

我要SSR 回复 慕圣9424722 提问者

那你还不如直接选取元素节点看看
2017-08-24 回复 有任何疑惑可以回复我~

 btn.onclick="add()"   你的btn哪里来的?未定义问题

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

慕圣9424722 提问者

感谢!但是声明var btn=document.getElementsByTagName("input");之后还是没有效果
2017-08-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468196    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

求大神!!

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