參考答案,注釋自己總結(jié)了很多問題,如果遇到有問題的可以看看。
<!DOCTYPE html>
<html>
?<head>
? <title> new document </title>??
? <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>? ?
? <script type="text/javascript">?
? // 鼠標(biāo)移動改變背景,可以通過給每行綁定鼠標(biāo)移上事件和鼠標(biāo)移除事件來改變所在行背景色。
? ? ? window.onload = function(){
? ? ? ? ? //返回所有tr標(biāo)簽節(jié)點(diǎn)的一數(shù)組o1
? ? ? ? ? var o1=document.getElementsByTagName("tr");
? ? ? ? ? //利用for循環(huán)使鼠標(biāo)指針移入或移出事件來綁定每個tr標(biāo)簽節(jié)點(diǎn)
? ? ? ? ? ? ?for(i=0;i<o1.length;i++)??
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ? bgover(o1[i]);
? ? ? ? ? ? ? ? ? ? bgout(o1[i]);
? ? ? ? ? ? ?}
? ? ? ? //設(shè)置鼠標(biāo)指針移入指定的對象的事件函數(shù) ,具體可以參考( https://www.w3school.com.cn/jsref/event_onmouseout.asp? ?)
? ? ?function bgover(obj){
? ? ?obj.onmouseover=function(){??
? ? ? obj.style.backgroundColor="#F2ACAC";
? ? ? ?}
? ? ? }
? ? ? //設(shè)置鼠標(biāo)指針移出指定的對象的事件函數(shù)
function bgout(obj){
? ? ?obj.onmouseout=function(){??
? ? ? obj.style.backgroundColor="";
? ? ? ?}
? ? ? }
? ? ?
?
}
? ? ?
? ? ? // 編寫一個函數(shù),供添加按鈕調(diào)用,動態(tài)在表格的最后一行添加子節(jié)點(diǎn);
? ? ?function add(){
? ? ? ? //創(chuàng)建節(jié)點(diǎn)標(biāo)簽1個tr 3個td
? ? ? ? ?var a0=document.createElement("tr");
? ? ? ? ?var a1=document.createElement("td");
? ? ? ? ?var a11=document.createElement("td");
? ? ? ? ? var a111=document.createElement("td");
? ? ? ? ?a1.innerHTML="xh00"+add2();? //對第一個td標(biāo)簽做一些小改動,加入add2()函數(shù)
? ? ? ? ?a11.innerHTML="<input type=text />";//第二個td標(biāo)簽內(nèi)加入text目的是為了能輸入
? ? ? ?//這里好多人出現(xiàn)錯誤,就是在"javascript:;" 中把雙引號改為單引號就行了,而且onclick='del(this)' 最后也這樣用單引號,原因我就不說了。
? ? ? ? a111.innerHTML="<a href='javascript:;' onclick='del(this)' >刪除</a>";
? ? ? ? //以下是用appendChild把一個個的子節(jié)點(diǎn)“裝”進(jìn)父親節(jié)點(diǎn)中
? ? ? ? ? a0.appendChild(a1);
? ? ? ? ? a0.appendChild(a11);
? ? ? ? ?a0.appendChild(a111);
? ? ? ? ? var table=document.getElementsByTagName("table");
? ? ? ? ? table[0].appendChild(a0);
? ? ? ? ? //這個add2()目的是在按了添加一行以后第3行或者以下“學(xué)號”可以跟行數(shù)對應(yīng)起來這亞子。
? ? ? ? ?function add2(){
? ? ? ? ? ? ?var b1=document.getElementsByTagName("tr");
? ? ? ? ? ? ?var num=b1.length;
? ? ? ? ? ? ?return num;
? ? ? ? ?}
? ? ? ? ?//同樣添加了的行數(shù)的背景要實(shí)現(xiàn)鼠標(biāo)移動改變背景
? ? ? ? ?window.onload();
? ? ?}
? ?
? ? ?
? ? ?// 創(chuàng)建刪除函數(shù) 具體可以參考(https://www.w3school.com.cn/jsref/dom_obj_event.asp)
? ? ?function del(obj){
? ? ? ? ?var d1=obj.parentNode.parentNode;
? ? ? ? d1.parentNode.removeChild(d1);
? ? ?}
? </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>? ?<!--在刪除按鈕上添加點(diǎn)擊事件? -->
? ?</tr>
? ?<tr>
<td>xh002</td>
<td>劉小芳</td>
<td><a href="javascript:;" onclick="del(this)">刪除</a></td>? ?<!--在刪除按鈕上添加點(diǎn)擊事件? -->
? ?</tr>??
? ?</table>
? ?<input type="button" value="添加一行" onclick="add()" />? ?<!--在添加按鈕上添加點(diǎn)擊事件? -->
?</body>
</html>
2019-09-24
謝謝分享