通过getElementsByClassName设置样式报错

  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。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容