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

调用del函数一直出错,请指点


<!DOCTYPE html>

<html>

<head>

<title> new document </title>  

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

<script type="text/javascript">

window.onload = function () {

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

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

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

    var tr = trs[i];

    tr.onmouseover = onover;

    tr.onmouseout = onout;

}

function onover() {

    this.style.backgroundColor = "#f2f2f2";

}

function onout() {

    this.style.backgroundColor = "#fff";

}

        

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

addtr=function (obj){

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

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

    xh.innerHTML = "xh";//+parseInt(trs.length);

    newtr.appendChild(xh);


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

    name.innerHTML = "<input type='text' value='name' />";

    newtr.appendChild(name);


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

    // var sca = document.createElement("a");

    // sca.href = "javascript:;";

    // sca.onclick = removetr;

    // var scatxt = document.createTextNode("删除");

    // sca.appendChild(scatxt);

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

    newtr.appendChild(operaion);


    table.appendChild(newtr);


    newtr.onmouseover = onover;

    newtr.onmouseout = onout;

}


// 创建删除函数

del=function (rm){

    var t = document.getElementById('table');

    // var tb = document.getElementById('table').lastChild;

    var tr = rm.parentNode.parentNode;

    t.removeChild(tr);  //此处一直有错误,怎样改最少的代码来修复,请老师、大哥指点

}

}

</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="del(this)">删除</a></td>

    <!--在删除按钮上添加点击事件  -->

    </tr>


    <tr>

    <td>xh002</td>

    <td>刘小芳</td>

    <td><a href="javascript:;" onClick="del(this)">删除</a></td>

    <!--在删除按钮上添加点击事件  -->

    </tr>  

    </table>

    <input type="button" value="添加一行" onClick="addtr()" />   

    <!--在添加按钮上添加点击事件  -->

</body>

</html>


正在回答

1 回答

table的子节点是text和tbody,而所有tr和td又在tbody中,所以需要用lastChild,你如果用firstChild获取的是空白节点,所以你要在var t = document.getElementById('table')后面加.lastChild就可以了

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

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信