index是参数,是for循环的序列号,:语法是vue语法,id用于echarts图表用,
在echarts中,类似这样初始化,echarts.init(document.getElementById('userLiveness'))
<div :id='"valueDistribution"+index' style="width: 180px;height:40px;"></div>
这是浏览器里渲染出来的dom
在console里,是可以出来的
但是在源码里是显示为null
index是参数,是for循环的序列号,:语法是vue语法,id用于echarts图表用,
在echarts中,类似这样初始化,echarts.init(document.getElementById('userLiveness'))
<div :id='"valueDistribution"+index' style="width: 180px;height:40px;"></div>
这是浏览器里渲染出来的dom
在console里,是可以出来的
但是在源码里是显示为null
你只是单纯想做节点查找的话、把数组拿过来、用变量拼接你的id
var index = 0;
document.getElementById("xxx"+index)
如果上面的index是for循环中的i、一样可以遍历到每个下标拼接的ID的节点
不知道你的ID到底是不是document.getElementById("valueDistribution0")、你的null的代码明显在document.getElementById("valueDistribution0"+index)相当于id是valueDistribution00了,拼接的话前面的0要去掉啊、这么粗心
13 回答12.8k 阅读
7 回答2k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答918 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
只要你元素id写对了,只要getElementById的时候你确定这个元素已经渲染出来了,就没问题。
你都getElementById了,干嘛还要加上#?
因为你代码执行到getElementById的时候,这个id元素还没有渲染出来,可以看一下vue组件的生命周期