Odpowiedź @elo jest poprawna i pozytywnie oceniona, chociaż musiałem ją trochę uporządkować, aby była jaśniejsza:
const myChartEl = document.getElementById('the-id-name');
const myChart = Highcharts.charts[myChartEl.getAttribute('data-highcharts-chart')];
myChart
następnie staje się aktywnym obiektem Highcharts, który odsłania wszystkie obecne rekwizyty obecne na wykresie, który jest renderowany w myChartEl
. Ponieważ myChart
jest to obiekt Highcharts , można bezpośrednio za nim łączyć metody prototypowe, rozszerzać go lub odwoływać się do niego.
myChart.getTable();
myChart.downloadXLS();
setTimeout(() => Highcharts.fireEvent(myChart, "redraw"), 10);
Można również uzyskać myChart
poprzez .highcharts()
, który jest jQuery
plugin:
var myChart = $("#the-id-name").highcharts();
Powyższe podejście do jQuery
wtyczki wymaga jQuery
załadowania przed użyciem wtyczki i oczywiście samej wtyczki. To brak tej wtyczki skłonił mnie do poszukiwania alternatywnych sposobów osiągnięcia tego samego z czystym waniliowym JavaScriptem.
Używając czystego podejścia JS, byłem w stanie zrobić to, czego potrzebowałem (drugi fragment kodu) bez konieczności polegania najQuery
: