我试图渲染一个实时显示传感器读数的高图,我的问题是我需要设置" renderTo" property(接受要在其上呈现图表的HTML元素的id)动态。我的意思是说:
而不是这样做: renderTo:'容器'
我需要这样做: var container =' container'
然后: renderTo:容器
但是它给出了一个错误,说它无法找到要在其中呈现图表的HTML元素。
这是如何在文件中完成的
Highcharts.chart({
chart: {
type: 'spline',
animation: Highcharts.svg,
marginRight: 10,
renderTo: 'container' <---
}
}
我需要做什么
var container = 'container'
Highcharts.chart({
chart: {
type: 'spline',
animation: Highcharts.svg,
marginRight: 10,
renderTo: container // where container can be equal to container1 , container2, container3 and so on
}
}
我该怎么做? 任何帮助,将不胜感激。感谢名单
编辑1:好的,所以我通过 Deep3015 描述的方法获得了元素引用,并且正在呈现图表,但我现在面临另一个问题。当我使用 document.getElementById(&#39; container&#39;)时,它工作正常,但当我执行此操作时返回null document.getElementById(容器),请参阅到下面的代码部分。
if(status=='1'){
Highcharts.setOptions({
global: {
useUTC: false
}
});
var containerid = tr.find('td').eq(1).text(); // This gives me the id of the container
var container = document.getElementById('12:23:12:32:34'); // This works (when id is hard coded)
var container = document.getElementById(containerid); // This does not
console.log(container); // container gets the reference when id is hard coded and is null when id is passed as a variable
console.log(containerid); // shows the correct retrieved id in both cases
Highcharts.chart({
chart: {
type: 'spline',
renderTo:container,
animation: Highcharts.svg,
marginRight: 10
}
});
}
可能出现什么问题?