当前位置: 首页 > 知识库问答 >
问题:

前端 - document.querySelector获取元素为null?

万高轩
2023-07-26

vue3中,在template中使用v-for渲染组件,通过document.querySelector获取v-for循环中的dom元素,得到的是null,有什么办法可以解决呢

共有3个答案

乐刚毅
2023-07-26

document.querySelector 需要在页面渲染完成之后执行。

乜裕
2023-07-26

document.querySelector 这个方法你写在哪里了,不能直接在setup里面,你要确保dom渲染后再去获取,因该使用onMounted

佘辰龙
2023-07-26

1、vue的话获取dom,尽量使用ref
2、使用原生js去获取dom,需要注意:如果是初始化获取,需要在mounted后获取,如果存在数据变化,需要在nextTick中获取,这都是因为vue的vnode渲染后实际页面上需要时间,所以需要延迟获取

 类似资料:
  • 问题内容: 做到这一点的最佳方法是什么? 问题答案: 使用 array_slice() 这是PHP手册中的一个示例:array_slice 只有一个小问题 如果数组索引对您有意义,请记住这将重置并重新排列 数字 数组索引。您需要设置标志来避免这种情况。(第4个参数,自5.0.2起可用)。 例: 输出:

  • 无限级菜单 点击每项隐藏或显示每项的后代子菜单 这是另一个vue文件 以下是我实现的方法

  • 问题内容: 还有另一种获取DOM元素ID的方法吗? 问题答案: 是的,你可以只使用属性的的DOM元素,例如: 或者,是这样的:

  • vue3.js通过ref的方式获取子元素失败 Html <test ref="testdata"></test> js: 打印出来为null

  • 问题内容: 有没有一种方法来获取LinearLayout的子元素?我的代码返回一个视图(linearlayout),但是我需要访问布局内部的特定元素。 有什么建议? (是的,我知道我可以使用findViewById,但是我正在用Java创建布局/子级-而不是XML。) 问题答案: 您可以随时执行以下操作:

  • 问题内容: 这应该真的很简单,但是我遇到了麻烦。如何获得子元素的父div? 我的HTML: 我的JavaScript: 我本来以为还是会工作,但我不断收到错误。请注意,已定义,但不是其中的某些变量。 有任何想法吗? PS我希望尽可能避免使用jQuery。 问题答案: 您正在寻找,其继承自: