问题描述:
在vue项目中通过原生js方法获取DOM元素(类名获取元素),控制台中可以打印出来值,但是length长度为0且操作不了,代码和截图如下:
console.log(document.getElementsByClassName('el-dialog__body'))
解决办法:
经分析之后,发现是因为代码写的位置不对,出现这个错误的原因是:js执行太快,获取的时候DOM元素还没有渲染完成,所以解决办法就是 延迟 获取,待节点渲染完成之后再获取元素:
this.$nextTick(() => {
console.log(document.getElementsByClassName('el-dialog__body'))
})
问题解决 over