这个地方浏览为什么会报错呀?

var oCalendar = document.getElementById("calendar");
var aTd = oCalendar.getElementsByTagName("td");
for(var i=0;i<data.length;i++){

        aTd[i].innerHTML=data[i];
        ...

}
就是在这个示例代码中aTd指的是html标签中的table元素里面的td子元素
页面能正常显示,但是为什么浏览器有个错误?

clipboard.png

阅读 2k
4 个回答

你最好答应下aTd看下到底是什么

是不是超边界了呀 for循环终止条件是data的长度啊 没那么多td吧

记得有个坑是调用.getElementsByXXX这类接口的时候,返回的是动态的元素集合;如果元素有变化,那这个集合会跟着变的……所以建议你换.querySelectorAll()试试~

越界了,终止值得是data.length-1

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题