慕盖茨2022422
2016-09-12 12:33
<script type="text/javascript">
window.onload = function(){
var tr=document.getElementsByTagName('tr');//获取TR数组
for (var i=0;i<tr.length;i++)
{
change(tr[i]);
}
// 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
function change(obj)
{
obj.onmouseover=function(){
obj.style.background='#ccc';
}
obj.onmouseout=function(){
obj.style.background='#fff'
}
}
}
// 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
var nob=2;
function add()
{
nob++;
if(nob<10)
{nob='0'+nob;}
var tab=document.getElementById('table');
var addtr=document.createElement('tr');
tab.appendChild(addtr);
var addth1=document.createElement('td');
addtr.appendChild(addth1);
var addth2=document.createElement('td');
addtr.appendChild(addth2);
var addth3=document.createElement('td');
addth3.innerHTML="<a href='javascript:;' onclick='deletetr(this)' >删除</a>";
addtr.appendChild(addth3);
addth1.innerHTML='xh0'+nob;
var name=prompt("请输入座号为"+nob+'同学的座号',"")
if (name!=null && name!="")
{
addth2.innerHTML=name;
}
}
// 创建删除函数
function deletetr(i)
{
var tr=i.parentNode.parentNode;
tr.parentNode.removeChild(tr);
}
</script>
在add()函数的最后加上一句 window.onload(); 也可以
新添加的行没调用change()函数,在add()函数末尾加上:change(addtr);即可。
因为新增加的行还没调用change()函数,你在add()函数里的最后一行addtr.appendChild(addth3);的后面添加
var tr=document.getElementsByTagName('tr');//获取TR数组
for (var i=0;i<tr.length;i++)
{
change(tr[i]);
}
就行了
对新加的对象重新绑定事件
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题