Uncaught TypeError: Cannot set property 'innerHTML' of undefined


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賦值,問題得到解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM