คำตอบของ@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 :