亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請教大神:window.onload 為什么只包含鼠標事件,不包含新增行和刪除行函數?

window.onload = function()? 如果包含添加行和刪除行函數時,會使添加和刪除函數失效,為什么?


<!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(){

? ? ? ? ? ? ? ? ??

? ? ?// 鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。

? ? ?function changec(obj)

? ? ? { obj.style.backgroundColor ="#f2f2f2";

? ? ? }

? ? ? var row = document.getElementsByTagName("tr");?

??

? for (var i=0;i<row.length;i++)

? { row[i].onmouseover=changec(row[i]);

?

}


? ? ? }

? ? ? // 編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點;

? ? ?function addrow()

? ? ?{var newrow = document.createElement("tr");

? ? ? var td1 = document.createElement("td");

? ? ? var td2 = document.createElement("td");

? ? ? var td3 = document.createElement("td");

? ? ??

? ? ? td3.innerHTML="<a href='javascript:;' onclick='delrow(this);'>刪除</a>";

? ? ? ? var tab = document.getElementById("table");

? ? ? ? ? tab.appendChild(newrow);??

? ? ? ? ? newrow.appendChild(td1);

? ? ? ? ? newrow.appendChild(td2);

? ? ? ? ? newrow.appendChild(td3);

? ? ??

? ? ?}

? ? ?// 創建刪除函數

? ? ?function delrow(obj)

? ? ?{ var tr = obj.parentNode.parentNode;

? ? ? ?tr.parentNode.removeChild(tr);

? ? ?}


? ? ??

? </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="delrow(this);" >刪除</a></td>? ?<!--在刪除按鈕上添加點擊事件? -->

? ?</tr>


? ?<tr>

<td>xh002</td>

<td>劉小芳</td>

<td><a href="javascript:;" onclick="delrow(this);" >刪除</a></td>? ?<!--在刪除按鈕上添加點擊事件? -->

? ?</tr>??


? ?</table>

? ?<input type="button" value="添加一行" onclick="addrow()" />? ?<!--在添加按鈕上添加點擊事件? -->

?</body>

</html>


正在回答

1 回答

在添加函數中,你是把 tr 標簽添加到了 table 下,而事實一般情況 table 下還習慣性省略了 tbody 標簽,你應該是把 tr 添加到 table 的子節點 tbody 下。

var?tbody?=?document.getElemntById('table').lastChild;???????//?table?就兩個子節點(一個空白節點、一個tbody)
var?tr?=?document.cretaElement('tr');

var?td?=?document.cretaEelment('td');
td.innerHTML?=?"<input?type='text'?/>";
tr.appendChild(td);

...

tbody.appendChild(tr);???//?就tr?添加到?tbody?下
1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請教大神:window.onload 為什么只包含鼠標事件,不包含新增行和刪除行函數?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號