關于參考答案中的var _table=document.getElementById("table").lastChild;
??????window.onload?=?function(){ ????????_change(); ??????} ?????????????????? ?????//?鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。 ?????function?_change(){ ??????var?_table=document.getElementById("table").lastChild; ??????var?_trs=document.getElementsByTagName("tr"); ??????for?(var?i?=?0;?i?<?_trs.length;?i++)?{ ????????_trs[i].onmouseover=function(){ ??????????this.style.backgroundColor="#f2f2f2"; ????????} ????????_trs[i].onmouseout=function(){ ??????????this.style.backgroundColor="#fff"; ????????} ??????} ?????}???? ????? ? ? ????? ??????//?編寫一個函數(shù),供添加按鈕調用,動態(tài)在表格的最后一行添加子節(jié)點; ?????function?_add(obj){ ?????????var?_table=document.getElementById("table").lastChild; ?????????var?_tr=document.createElement("tr"); ????????? ?????????var?_td=document.createElement("td"); ?????????_td.innerHTML="<input?type='text'/>"; ?????????_tr.appendChild(_td); ????????? ?????????var?_td=document.createElement("td"); ?????????_td.innerHTML="<input?type='text'/>"; ?????????_tr.appendChild(_td); ????????? ?????????var?_td=document.createElement("td"); ?????????_td.innerHTML="<a?href='javascript:;'?onClick='_remove(this)'?>刪除</a>"; ?????????_tr.appendChild(_td); ????????? ?????????_table.appendChild(_tr); ????????? ?????????_change(); ????????? ?????} ???? ??? ? ?????//?創(chuàng)建刪除函數(shù) ?????function?_remove(obj){ ????????var?_table=document.getElementById("table").lastChild; ????????var?_tr=obj.parentNode.parentNode; ????????_table.removeChild(_tr); ?????}
這里為什么每個函數(shù)內定義的第一個變量都要取.lastChild不是很懂
還有window.onload?=?function()這句話我也不是很能理解,函數(shù)不是可以直接調用嗎,為什么要加這句話?求助大神解答啊啊啊
2016-09-22
tbody是table的內置屬性,還有thead,tfoot,分別是表頭,表尾。
tbody元素是必須的,就是你頁面代碼沒寫tbody真正運行的時候頁面會給每個table加一個tbody,所以table.tr的父子鏈連不起來,必須是table.tbody.tr才可以
2017-09-14
還有window.onload?=?function()這句話我也不是很能理解,函數(shù)不是可以直接調用嗎?
>>這句話就是在加載網頁的時候就調用高亮的函數(shù),不調用就沒法運行該函數(shù)啊。
2016-09-20
答案里的是table下還有tbody標簽,然后tbody標簽里面才是tr,貌似比我們這個里多了個tbody。用lastchild也許是兼容把?因為table下除了tbody節(jié)點外還有空白處也算節(jié)點。lastchild確保獲得的節(jié)點是tbody節(jié)點。
2016-09-20
1、添加個刪除都是對table下的lastChild操作的,所以就順便這樣定義了吧
2、window.onload?=?function()的作用時保證先加載body段,后加載運行script段;如果沒有這句話,就會按照從上到下的順序執(zhí)行,也就會導致getElement這些操作都返回失敗了