慕仰6690464
2016-03-10 15:15
<!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 str_tr = document.getElementsByTagName('tr');
for(var i = 1; i < str_tr.length; i++)
{
str_tr[i].onmouseover = function()
{
this.style.backgroundColor = "#f2f2f2";
}
str_tr[i].onmouseout = function()
{
this.style.backgroundColor = "#fff";
}
}
}
// 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
function addtr(){
var xuehao=prompt("请输入学号","");
var xingming=prompt("请输入姓名","");
if(xuehao!=null&&xuehao!="&&xingming!=null&&xingming!="")
{
var newtr=document.createElement("tr");
var text=newtr.innerHTML="<td>"+sNum+"</td>"+"<td>"+sName+"</td>"+"<td><a href="javascript:;" onclick="del(this)">删除</a></td>";
document.getElementById("table").appendChild(newtr);
}
else
{
alert("请重新输入");
}
// 创建删除函数
function del(obj){
var oG=obj.parentNode.parentNode.parentNode;
var oP=obj.parentNode.parentNode;
oG.removeChild(oP);
}
</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、addtr函数少了一个}
2、该用转义符号的没用
if(xuehao!=null&&xuehao!="&&xingming!=null&&xingming!="")
这一句的引号竟然是三个。。。。。。
应该写成if(xuehao!=null&&xuehao!="&&xingming!=null&&xingming!=\"\"")
或者if(xuehao!=null&&xuehao!="&&xingming!=null&&xingming!=''"),这里xingming!=''用的是单引号
还有,var text=newtr.innerHTML="<td>"+sNum+"</td>"+"<td>"+sName+"</td>"+"<td><a href="javascript:;" onclick="del(this)">删除</a></td>";
改成var text=newtr.innerHTML="<td>"+sNum+"</td>"+"<td>"+sName+"</td>"+"<td><a href=\"javascript:;\" onclick=\"del(this)\">删除</a></td>";
或者改成单引号也行
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题
回答 2
回答 1
回答 3
回答 1
回答 2