当财产" renderTo"动态设置

时间:2018-03-14 17:19:35

标签: javascript laravel-5 highcharts javascript-objects

我试图渲染一个实时显示传感器读数的高图,我的问题是我需要设置" 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
    }
  });
}

可能出现什么问题?

0 个答案:

没有答案