通过getElementsByClassName设置样式报错

2020-08-11  本文已影响0人  最后的轻语G
  var cardBody = document.getElementsByClassName('.el-card__body')
  console.log(cardBody)
  if (this.isShow === 0) {
    cardBody.style.display = 'none'
    this.isShow = 1
  } else {
    cardBody.style.display = 'block'
    this.isShow = 0
  }

报错:Error in v-on handler: "TypeError: Cannot set property 'display' of undefined"

原因:不同div可以对应相同的class。所以必须考虑到这样的情况:一个页面叫同一个class名字的会有很多,这样获取到的就是一个数组形式。

解决方法:

  1. 指定我数组中的哪一个,必需加上索引才行;
  2. 只有一个或者是第一个的话,可以使用querySelector。
上一篇 下一篇

猜你喜欢

热点阅读