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

关于事件源的问题

关于事件源的问题

Beckybei 2015-11-09 10:41:16
代码有点长 仿着网上的教程做的<html><head><style>td{text-align:center;}</style></head><body><table border="1px solid black" width="25%" id="table"><tr><th>学号</th><th>姓名</th><th>操作</th></tr><tr><td>001</td><td>张三</td><td><a href="javascript:;" onclick="deletOne(this)">删除</a></td></tr><tr><td></td><td></td><td><a href="javascript:;" onclick="deletOne(this)">删除</a></td></tr></table><input type="button" value="添加一行" name="btn"/><input type="button" value="删除所有行" name="btn"/><p>单击表格可以修改</p><script>window.onload=function(){changeRowCss();}//变换行数底色function changeRowCss(){var tr=document.getElementsByTagName("tr");for(var i=1;i<tr.length;i++){tr[i].onmouseover=function(){this.style.backgroundColor="#ccc";}tr[i].onmouseout=function(){this.style.backgroundColor="#fff";}}}//添加一行var btn=document.getElementsByName("btn");btn[0].onclick=function(){var tbody=document.getElementById("table").lastChild;var tr=document.createElement("tr");tbody.appendChild(tr);var td=document.createElement("td");tr.appendChild(td);td=document.createElement("td");tr.appendChild(td);td=document.createElement("td");td.innerHTML="<a href='javascript:;' onclick='deletOne(this)'>删除</a>";tr.appendChild(td);changeRowCss();}//删除所有行btn[1].onclick=function(){var tbody=document.getElementById("table").lastChild;var tr_length=tbody.childNodes.length;for(var i=1;i<tr_length;i++){tbody.removeChild(tbody.childNodes[1]);}}//删除单独一行function deletOne(obj){var tbody=document.getElementById("table").lastChild;var tr=obj.parentNode.parentNode;tbody.removeChild(tr);}//修改表格内容var table=document.getElementById("table");table.onclick=function(e){var ev=e||window.event;var tdobj=ev.srcElement||ev.target;if(tdobj.nodeName=="TH"){return;}if(tdobj.nodeName=="TABLE"){return;}if(tdobj.nodeName=="A"){return;}var tdText=tdobj.innerHTML;tdobj.innerHTML=" ";var inputs=document.createElement("input");inputs.setAttribute("type","text");inputs.setAttribute("size",8);tdobj.appendChild(inputs);inputs.focus();inputs.onblur=inputs.onkeydown=function(e){var ev=e||window.event;if(ev.type=="blur"||ev.type=="keydown"&&ev.keyCode==13){var val=this.value;tdobj.removeChild(inputs);if(val==""){tdobj.innerHTML=tdText;}else{tdobj.innerHTML=val;}}}}</script></body> </html>问题就是:怎么才可以点击td内容为删除的这个格子不被修改内容呢?我试过方法一:tdobj.nodeName=="A"方法二:if(tdobj.innerHTML=="<a href='javascript:;' onclick='deletOne(this)'>删除</a>"){return;}这些都没有用方法三:tbobj.innerHTML!=“ ” 这个是有用的,但是这样子一来就不可以修改表格里默认的内容了。不是我想要的。求问大神有什么方法可以只修改学号姓名两列的td内容,而不能修改操作这一列的td内容呢?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1456 浏览
慕课专栏
更多

添加回答

举报

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