为了账号安全,请及时绑定邮箱和手机立即绑定

var tbody=document.getElementById("table").lastChild; tbody显示未定义,求助

var tbody=document.getElementById("table").lastChild;  tbody显示未定义,求助http://img1.sycdn.imooc.com//597958f30001d61708160203.jpg

正在回答

4 回答

根据浏览器的解释的顺序, 当它读到getElementById("table")的时候,还不知道有table这个东西. 

所以你把script代码段放到table以后, getElementById.....这行随意放函数外面还是里面

1 回复 有任何疑惑可以回复我~
#1

风到这里就是粘 提问者

非常感谢!但是我还想问一下,放在addtr()里面是为什么可以?是因为点击按钮时,又把函数解释了一遍才拿到那个table吗?
2017-07-28 回复 有任何疑惑可以回复我~
#2

X4tar 回复 风到这里就是粘 提问者

是的,点击事件会回调函数addtr(), 函数中的tbody是个只属于函数的局部变量,每次调用完函数后都会被释放掉.也是遵守先声明后调用的顺序.如果把var tbody = ......这句放在tbody......后面就会报错
2017-07-28 回复 有任何疑惑可以回复我~
#3

风到这里就是粘 提问者 回复 X4tar

明白了,非常感谢!
2017-07-29 回复 有任何疑惑可以回复我~

麻烦把完整代码贴出来

0 回复 有任何疑惑可以回复我~

把var tbody=document.getElementById("table").lastChild; 放在了addtr()里了好使了,这是为什么?


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

var tbody=document.getElementById("table").lastChild; tbody显示未定义,求助

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信