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