问答详情
源自:9-22 编程练习

有几个问题,求解答!!!

  1. var tbody=document.getElementById("table").lastChild;放在addtr()函数外面为什么会报错?

  2. IE8下添加一行,样式跟别的浏览器完全不一样,怎么解决?http://img.mukewang.com/597979440001fcbc13070453.jpg

  3. 使用removeChild()创建删除函数,没有作用?看别人的问题这样写是可以的?


提问者:风到这里就是粘 2017-07-27 13:26

个回答

  • Lunatic123
    2017-08-02 14:50:11
    已采纳

    第二个ie678是存在兼容问题的,不管是默认样式也好,代码也好,差别都很大,正常项目我会引入reset包重置默认样式或者自定义一个样式不用系统本身自带的。

    第三个,关键字和保留字是不能作为函数名和变量名的,即使现在不出问题以后也肯定会出问题,最好命名一些有含义的命名,同时最好遵守驼峰命名法

  • X4tar
    2017-07-28 15:46:13

    同理...

  • 风到这里就是粘
    2017-07-28 08:51:04

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>制作一个表格,显示班级的学生信息</title>
    <script type="text/javascript">
    window.onload = function(){
    //鼠标移动改变背景,鼠标移到不同行上时背景色改为色值为 #f2f2f2,移开鼠标时则恢复为原背景色 #fff
    //提示:1.获取表格的行,getElementsByTagName 。2.使用for进行循环,为每行添加事件及背景颜色设置。
    var trs=document.getElementsByTagName("tr");
    for (var i = 0; i < trs.length; i++) {
    trs[i].onmouseover=function(){
    this.style.backgroundColor="pink";
    };
    trs[i].onmouseout=function(){
    this.style.backgroundColor="#fff";
    };
    }
    }
    
    // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加一行;
    // 使用createElement()、innerHTML、appendChild()
    function addtr(){
    var stuNo=prompt("请输入学号:","");
    var name=prompt("请输入姓名:","");
    var newtr=document.createElement("tr");
    newtr.innerHTML='<td>'+stuNo+'</td>'+'<td>'+name+'</td>'+'<td>'+'<a href="javascript:deleteRow();" >删除</a>'+'</td>'; //innerHTML可以解析HTML标签
    var tbody=document.getElementById("table").lastChild;//浏览器在table标签下默认添加tbody节点,为什么放到addtr()外面不好使?
    tbody.appendChild(newtr);
    }
    //  使用removeChild()创建删除函数,删除当前行
    function deleteRow(){
    var tbody=document.getElementById("table").lastChild;
    tbody.removeChild(this.parentNode.parentNode);
    }
    </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:deleteRow();" >删除</a></td><!--在删除按钮上添加点击事件  -->
    </tr>
    <tr>
    <td>xh002</td>
    <td>刘小芳</td>
    <td><a href="javascript:deleteRow();" >删除</a></td><!--在删除按钮上添加点击事件  -->
    </tr>
    </table>
    <input type="button" value="添加一行" onclick="addtr()" /><!--在添加按钮上添加点击事件  -->
    </body>
    </html>


  • 慕神7218174
    2017-07-27 21:16:54

    是不是吧代码贴出来看看?