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

编程练习提问,大神们都进来

这个删除函数我自己不会写,照猫画虎了一个,但是点击删除后并不起作用,这是什么原因导致的?我百思不得其解,求大神们指点。另外,还有一个问题就是,新添加的列表行不能起到鼠标移上变色功能,这又是为什么呢?

正在回答

2 回答

if (un != null && un != "" && nu != null && nu != "") 想问一下这个是什么意思?un!=""是什么意思呢?

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

<!DOCTYPE html>

<html>

<head>

<title>new document</title>

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

<script type="text/javascript">

window.onload = function() {


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

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

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

aa[i].onmouseover = function() {

this.style.backgroundColor = "pink";

}

aa[i].onmouseout = function() {

this.removeAttribute("style");

}

}


}


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

function ad() {

var un = prompt("姓名");

var nu = prompt("学号");

if (un != null && un != "" && nu != null && nu != "") {

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

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

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

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

td1.innerHTML = nu;

td2.innerHTML = un;

td3.innerHTML = "<a href='javascript:;' onClick='delt(this)'>删除</a>";

tr.appendChild(td1);

tr.appendChild(td2);

tr.appendChild(td3);

document.getElementById("table").lastChild.appendChild(tr);

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

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

aa[i].onmouseover = function() {

this.style.backgroundColor = "pink";

}

aa[i].onmouseout = function() {

this.removeAttribute("style");

}

}


}

}


function delt(obj) {

var tb = obj.parentNode.parentNode.parentNode;

var tr = obj.parentNode.parentNode;

tb.removeChild(tr);

}

// 创建删除函数

</script>

</head>

<body>

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

<tr>

<th>学号</th>

<th>姓名</th>

<th>操作</th>

</tr>


<tr>

<td>xh001</td>

<td>王小明</td>

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

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

</tr>


<tr>

<td>xh002</td>

<td>刘小芳</td>

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

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

</tr>


</table>

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

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

</body>

</html>


点击删除不能删除的原因是你的删除函数写在了另外一个函数体内了,至于新添加的行的变色你可以再次遍历tr.length既可。


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

Neo_嘟教授 提问者

看了一下自己写的还真是写到别的函数里了,粗心了。那再次遍历的话要在原来的基础上改变什么吗?
2016-12-24 回复 有任何疑惑可以回复我~
#2

酸溜土豆丝3362793 回复 Neo_嘟教授 提问者

不需要的。再次调用 var aa = document.getElementsByTagName("tr"); for (var i = 0; i < aa.length; i++) { aa[i].onmouseover = function() { this.style.backgroundColor = "pink"; } aa[i].onmouseout = function() { this.removeAttribute("style"); } }既可
2016-12-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

编程练习提问,大神们都进来

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