var appendText = function(){
//变量作用域为函数内部,外部无法访问
var html = ""
return {
getHtml : function(tmpNum){
html += "<input type='text' name='txt"+tmpNum+"'>"
return html
}
}
}()
然后修改你的代码
oTD.innerHTML = appendText.getHtml(tmpNum)
或者有兴趣的话可以学习一下Jquery,里面有相应方法很轻松地实现你的需求。
if(k>0){var myNewRow = document.createElement("tr")
tabObj.insertBefore(myNewRow,tabObj,tabObj.rows[++k])
}
问题出在这里,if判断中的k没有定义(上面的for循环中定义的k是局部变量,只在循环体中有效),每次判断的时候都是k=0,0>0 ? false : true;所以一直进入else里面。刚刚跑了一下代码,
tabObj.insertBefore(myNewRow,tabObj,tabObj.rows[++k])这个也报错了。提示方法未找到。