使用ID获取AmChart的实例

时间:2015-02-07 16:19:06

标签: javascript amcharts

有没有办法使用元素Id获取AmChart的实例? 在编写通用API以使用AmCharts时,这非常有用。

<div id="myChart"></div>
<div id="myChart2"></div>
<script>
   function makeChart(id, settings) {
        var ins = AmCharts.getChart(id) ?? //need a way to find the instance
        if (ins) ins.clear();
        AmCharts.makeChart(id,settings);
   }
</script>

2 个答案:

答案 0 :(得分:12)

您可以像这样解决这个问题:

function getChart(id) {
    var allCharts = AmCharts.charts;
    for (var i = 0; i < allCharts.length; i++) {
        if (id == allCharts[i].div.id) {
            return allCharts[i];
        }
    }
}

现在只需调用getChart("myChart")并返回实例。

答案 1 :(得分:0)

您可以使用JS finddocs

例如(使用ES2015箭头功能):

function getChart(id) {
    return AmCharts.charts.find(c => c.div.id === id)
}