window.onload = function(){ // 鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。 var tr=document.getElementsByTagName("tr"); for(var i=0;i<tr.length;i++){ bgcChange(tr[i]); } } function bgcChange(node){ node.onmouseover=function(){ node.style.backgroundColor="#f2f2f2"; } node.onmouseout=function(){ node.style.backgroundColor="#f6d0e7"; } } // 編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點; var num=2; function add(){ num++; var ot=document.getElementById('table'); var tbody=ot.getElementsByClassName("tbody")[0]; var otc=ot.childNodes[1]; var tr=document.getElementsByTagName("tr"); var td1=document.getElementsByTagName("td"); // var xm=document.createElement("td"); var tt=document.createElement("tr"); var trs=otc.parentNode.appendChild(tt); console.log(otc) console.log(trs.typeof); var ts=Array.prototype.slice.call(trs); console.log(ts) console.log(ts.push(tr)); ts.forEach(function(element,index,array){ var j=2; while(j<element.length){ j++; tr[j].innerHTML+="<tr><th>"+'element[j]'+"</th></tr>"+"<tr><th>"+'element[j]'+"</th></tr>"+"<tr><th>"+'element[j]'+"</th></tr>";
return function() { return this.tr[j].innerHTML+="<tr><th>"+'element[j]'+"</th></tr>"+"<tr><th>"+'element[j]'+"</th></tr>"+"<tr><th>"+'element[j]'+"</th></tr>"; } } console.log(element[j]) }) console.log(tr) td1.innerHTML="xh00"+num; // xm.innerHTML="第"+num+"個學生"; var del=document.createElement("td"); del.innerHTML=""; var tab=document.getElementById("table"); var tr = document.getElementsByTagName("tr"); for(var i=0;i<tr.length;i++){ bgcChange(tr[i]); } }這里報了個tr沒獲取到,涉及到閉包概念,給返回一個function給tr賦值,問題得到解決。