1.原因:
①父元素v-if
②js代码在head前,即dom元素渲染前
2.解决方法
①script标签上加defer=true的属性
②在vue中,利用this.$nextTick(()=>{
let div=document.getElementById(id)
//获取到的是数据更新后的Dom数据
}
)
vue document.getElementById值为空的原因及解决方法
最新推荐文章于 2024-05-23 20:55:08 发布
文章探讨了由于父元素使用v-if和JavaScript代码在DOM渲染前执行导致的问题,并提出了两种解决方案:一是使用script标签的defer属性延迟脚本执行,二是利用Vue的this.$nextTick确保在数据更新后操作DOM。
摘要由CSDN通过智能技术生成