v-html添加的dom元素在js中找不到?

使用v-html加载一段后端传来的html, 在vue的mounted中想要获取DOM元素修改其样式, 代码

mounted() {
    let xx = this.$el.getElementsByClassName('img-place-holder')
    console.log(xx)
    console.log(xx[0])
}

打印的结果是
图片描述

而且打印xx.length也是0

xx这个集合取到了, 而且能看到有要找的这个DOM元素, 然而获取的时候是undefined, 而且这个0和原型的颜色一样都有点浅, 是代表隐藏属性吗?

获取元素的方法找到了, 使用setTimeout(0), 将任务放在事件队列的最后获取, 而使用this.$nextTick()的话还是获取不到, 原因应该是在下一次DOM更新结束后v-html添加的内容还没挂载到DOM树上

阅读 4.8k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏