通过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名字的会有很多,这样获取到的就是一个数组形式。
解决方法:
- 指定我数组中的哪一个,必需加上索引才行;
- 只有一个或者是第一个的话,可以使用querySelector。