myrtis
2015-09-11 21:36
为什么新增行无法改变颜色,已添加了相关代码。如下
<!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 myline=document.getElementsByTagName("tr");
for (i=0;i<myline.length;i++)
{
mybgcChange(myline[i]);
}
function mybgcChange(myobj)
{
myobj.onmouseover=function()
{
myobj.style.backgroundColor="#f2f2f2";
}
myobj.onmouseout=function()
{
myobj.style.backgroundColor="#fff";
}
}
}
// 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
var num=2;
function addLine()
{
num++;
var mytable=document.getElementById("table");
var mytr=document.createElement("tr");
var mytd1=document.createElement("td");
var mytd2=document.createElement("td");
var mydel=document.createElement("td");
mytd1.innerHTML="xh00"+num;
mytd2.innerHTML="学生"+num;
mydel.innerHTML="<a href='javascript:;' onclick='fundel(this)'>删除</a>";
mytable.appendChild(mytr);
mytr.appendChild(mytd1);
mytr.appendChild(mytd2);
mytr.appendChild(mydel);
var myline=document.getElementsByTagName("tr");
for (i=0;i<myline.length;i++)
{
mybgcChange(myline[i]);
}
}
function fundel(delobj){
var delLine=delobj.parentNode.parentNode;
delLine.parentNode.removeChild(delLine);
}
</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="fundel(this)">删除</a></td> <!--在删除按钮上添加点击事件 -->
</tr>
<tr>
<td>xh002</td>
<td>刘小芳</td>
<td><a href="javascript:;" onclick="fundel(this)" >删除</a></td> <!--在删除按钮上添加点击事件 -->
</tr>
</table>
<input type="button" value="添加一行" onclick="addLine();" /> <!--在添加按钮上添加点击事件 -->
</body>
</html>
function mybgcChange(myobj) 把这个函数体拿出来放到 window.onload 这个的外面,就可以了,出现这样的原因是因为,如果放到 window.onload这个里面,在想调用的时候,调用不到
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题