Ответ @elo правильный и получил одобрение, хотя мне пришлось немного привести его в порядок, чтобы было понятнее:
const myChartEl = document.getElementById('the-id-name');
const myChart = Highcharts.charts[myChartEl.getAttribute('data-highcharts-chart')];
myChart
затем становится живым объектом Highcharts, который предоставляет все текущие свойства , присутствующие в диаграмме, отображаемой в myChartEl
. Поскольку myChart
это объект Highcharts , можно связать методы прототипа сразу после него, расширить его или сослаться на него.
myChart.getTable();
myChart.downloadXLS();
setTimeout(() => Highcharts.fireEvent(myChart, "redraw"), 10);
Можно также получить myChart
через .highcharts()
, который является jQuery
плагин:
var myChart = $("#the-id-name").highcharts();
Приведенный выше подход к jQuery
плагину требует jQuery
загрузки перед использованием плагина и, конечно же, самого плагина. Отсутствие этого плагина побудило меня искать альтернативные способы сделать то же самое с чистым ванильным JavaScript.
Используя чистый JS-подход, я смог сделать то, что мне нужно (второй фрагмент кода), не полагаясь наjQuery
: