ElementStacks

HTML

<script src="http://highcharts.com/js/testing-exporting.js"></script>
<div id="container" style="height: 300px; margin-top: 1em"></div>

<button id="button">Hide Series 1</button>

JavaScript

// Override export buttons so that latest chart state (series visibility) is exported
function syncSeriesVisibility() {
  var i = chart.options.series.length;
  while (i--) {
    var series = chart.options.series[i];
    series.visible = chart.get(series.id).visible;
    console.log("syncSeriesVisibility", series.id, series.visible);
  }
}

var chart = new Highcharts.Chart({
    
    chart: {
        renderTo: 'container'
    },
    
    credits: {
        enabled: false
    },
    
    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },
    
    series: [{
        data: [9.9, 171.5, 206.4, 29.2, 344.0, 76.0, 35.6, 8.5, 216.4, 74.1, 65.6, 254.4],
        name: "Series title 1",
        id: "series1"
    },{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
        name: "Series title 2",
        id: "series2"
    }],
    
    exporting: {
        buttons: {
            exportButton: {
                menuItems: $.map(['image/png', 'image/jpeg', 'application/pdf', 'image/svg+xml'],
                                 function(filetype, index){
                                    return { 
                                        onclick: function() { 
                                            syncSeriesVisibility(); 
                                            this.exportChart({type: filetype}) 
                                        } 
                                    }
                           })
            }
        }
    }  
});

$("#button").click(function(){
    chart.get("series1").hide();
    console.log(chart.get("series1").visible)
});