HTMLCollection的长度和元素个数不一样,这是咋回事??

发布于 2022-09-13 00:36:07 字数 644 浏览 17 评论 0

mounted() {

this.initMap()
if (this.vcAttributes[0].dates.start){
  this.$refs.calendar.move(this.vcAttributes[0].dates.start)
}

let weekdays = document.getElementsByClassName('vc-weekday')

this.$nextTick(() => {
  console.log(weekdays.length)
  console.log(weekdays)
  for (let i = 0; i < weekdays.length; i++) {
    let weekday = weekdays.item(i)
    weekday.addEventListener('click', () => {
      console.log(weekday.innerHTML)
      console.log('添加事件'+i)
    },{capture: false, once: false, passive: false})
  }
})

},

控制台打印:
image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

¢蛋碎的人ぎ生 2022-09-20 00:36:07

你用 Array.from() 转换一下,他就一样了。

首先,是因为 console 打印的是快照,所以显示的其实就是最后的结果。

其次,浏览器 HTMLCollection 这个东西他就是会变的。比如说你现在看14个,你增加一个新的到dom中,你会发现再点开就变15个了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文