為什么新添加的沒有鼠標(biāo)已經(jīng)過事件?為什么刪除新添加的那一欄就全部刪完了?
<!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 tr = document.getElementsByTagName("tr");
? ? ? ? for(var i=0; i<tr.length; i++)
? ? ? ? {
? ? ? ? ? ? bgChange(tr[i]); ? ?
? ? ? ? }
}
?
function bgChange(obj){
? ?obj.onmouseover=function(){
? ? ? ?obj.style.backgroundColor=" #f2f2f2";
? ?}
? ?obj.onmouseout=function(){
? ? ? ?obj.style.backgroundColor="#fff";
? ?}
}
? ??
? ? function Add(){
? ? ? ? var no = prompt("請輸入學(xué)號:", "");
? ? ? ? var name = prompt("請輸入姓名:","");
? ? ? ? if(no!=null&&name!=null&&no!=""&&name!="")
? ? ? ? {
? ? ? ? ? ? var tr = document.createElement("tr");
? ? ? ? ? ? var td1 = document.createElement("td");
? ? ? ? ? ? var td2 = document.createElement("td");
? ? ? ? ? ? var del = document.createElement("td");
? ? ? ? ? ? var newno = document.createTextNode(no);
? ? ? ? ? ? var newname = document.createTextNode(name);
? ? ? ? ? ? td1.appendChild(newno);
? ? ? ? ? ? td2.appendChild(newname);
? ? ? ? ? ? del.innerHTML="<a href='javascript:;' onclick='del(this)' >刪除</a>";
? ? ? ? ? ? var table = document.getElementById("table");
? ? ? ? ? ? table.appendChild(tr);
? ? ? ? ? ? table.appendChild(td1);
? ? ? ? ? ? table.appendChild(td2);
? ? ? ? ? ? table.appendChild(del);
? ? ? ? ? ? window.onload = function(){
? ? ? ? ? ? ? ? var add_tr = document.getElementsByTagName("tr");
? ? ? ? ? ? ? ? for(var i=0; i<add_tr.length; i++)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? bgChange(add_tr[i]); ? ?
? ? ? ? ? ? ? ? }
? ? ? ? }
? ? ? ? }
? ? ? ? else{
? ? ? ? ? ? alert("姓名和學(xué)號不能為空,請重新輸入!");
? ? ? ? ? ? Add();
? ? ? ? }
? ? }
? ? ?
? ? function del(obj){
? ? ? ? var tr = obj.parentNode.parentNode;
? ? ? ? tr.parentNode.removeChild(tr);
? ? }
? </script>?
?</head>?
?<body>?
? <table border="1" width="50%" id="table">
? <tr>
<th>學(xué)號</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="Add()" /> ? <!--在添加按鈕上添加點擊事件 ?-->
?</body>
</html>
2018-08-03
你應(yīng)該在add()方法中調(diào)用bgChange(),新增加的才會有鼠標(biāo)經(jīng)過的事件。
var tr = obj.parentNode.parentNode;
這個就是找到tr這個元素節(jié)點賦值給tr
tr.parentNode.removeChild(tr);
tr的父節(jié)點就是table,removeChild(tr)就是在父節(jié)點下把tr整個節(jié)點刪除
2018-07-28
?tr.parentNode.removeChild(tr);
因為刪除的是tr的父節(jié)點的整個子節(jié)點