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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

obj和this是什么關系啊,好迷,為什么//創建刪除函數那里得到ID的最后要加lastChild

obj和this是什么關系啊,好迷,為什么//創建刪除函數那里得到ID的最后要加lastChild

尼古拉車夫 2016-11-24 22:58:47
<!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(){? ? ? ? ? HighLight();? ? ? } ? ? ?? ? ?// 鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。? ? ? ? function HighLight(){? ? ? ? var tbody=document.getElementById("table"); ? ?? ? ? ? trs=tbody.getElementsByTagName("tr"); for(var i=1; i<trs.length; i++){? ? ? ?trs[i].onmouseover=function(){? ? ? ? ? ? ? ? this.style.backgroundColor="#959851"; ??? ? ? ?} ??? ? ? ? ? ? trs[i].onmouseout=function(){? ? ? ? ? ? ? ? this.style.backgroundColor="#fff";? ? ? ? ? ? } } }? ? ?? ? ? // 編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點;? ? ? ? function addOne(obj){? ? ? ? ? ? var tbody=document.getElementById("table").lastChild;? ? ? ? ? ? var tr=document.createElement("tr");? ? ? ? ? ? var td=document.createElement("td");? ? ? ? ? ? td.innerHTML="<input type'text'>";? ? ? ? ? ? tr.appendChild(td);? ? ? ? ? ??? ? ? ? ? ? td=document.createElement("td");? ? ? ? ? ? td.innerHTML="<input type'text'>";? ? ? ? ? ? tr.appendChild(td);? ? ? ? ? ??? ? ? ? ? ? td=document.createElement("td");? ? ? ? ? ? td.innerHTML="<a href='javascript:;' OnClick='deleteRow(this)'>刪除</a>";? ? ? ? ? ? tr.appendChild(td);? ? ? ? ? ??? ? ? ? ? ? tbody.appendChild(tr);? ? ? ? ? ? HighLight();? ? ? ? }? ? ? ? ?// 創建刪除函數? ? ? ? function deleteRow(obj){? ? ? ? ? ? var tbody=document.getElementById("table").lastChild;? ? ? ? ? ? var tr=obj.parentNode.parentNode;? ? ? ? ? ? tbody.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='deleteRow(this)'>刪除</a></td> ? <!--在刪除按鈕上添加點擊事件 ?--> ? </tr> ? <tr> <td>xh002</td> <td>劉小芳</td> <td><a href="javascript:;" OnClick='deleteRow(this)'>刪除</a></td> ? <!--在刪除按鈕上添加點擊事件 ?--> ? </tr> ? ? </table> ? <input type="button" value="添加一行" OnClick="addOne()" /> ? <!--在添加按鈕上添加點擊事件 ?-->?</body></html>
查看完整描述

1 回答

已采納
?
李曉健

TA貢獻1036條經驗 獲得超461個贊

這個this 通俗并不準確的說,就是誰調用這個方法,這個方法里面的this就是誰 ?比喻

trs[i].onmouseover=function(){
???this.style.backgroundColor="#959851";
}
//??這里是trs[i]調用的onmouseover,所以這個方法里的?this就是?trs[i]

第二個問題 ?其實teble的格式是這樣的

<table>
????<tbody>
????????<tr>
????????????<td></td>
????????</tr>
????</tbody>
</table>

這里不包括thead, ?這個tbody就算你沒有寫,瀏覽器會自己加上的,tbody=document.getElementById("table").lastChild; 得到的就是 這個tbody

查看完整回答
1 反對 回復 2016-11-25
  • 尼古拉車夫
    尼古拉車夫
    我試了把<tbody>套上去,但是運行不了,然后為什么非要lastChild而firstChild就運行不了了呢?
  • 李曉健
    李曉健
    你在可在控制打印一下firstChild 看看是什么就行了
  • 尼古拉車夫
    尼古拉車夫
    不行,在lastChild的時候我在函數里寫document.write(tbody.nodeName),按一下刪除然后表格就消失了,顯示的是TBODY。但是該成firstChild之后按刪除就沒有反應了。
點擊展開后面1
  • 1 回答
  • 0 關注
  • 1206 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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