Javascript 是否将HighCharts呈现给类而不是id?
我有以下几项可以很好地工作:Javascript 是否将HighCharts呈现给类而不是id?,javascript,jquery,jquery-selectors,highcharts,Javascript,Jquery,Jquery Selectors,Highcharts,我有以下几项可以很好地工作: $(document).ready(function() { get_data_for_chart(); function get_data_for_chart() { $.ajax({ url: 'get_data.aspx?rand=' + Math.random(), type: 'GET', dataType: 'json',
$(document).ready(function() {
get_data_for_chart();
function get_data_for_chart() {
$.ajax({
url: 'get_data.aspx?rand=' + Math.random(),
type: 'GET',
dataType: 'json',
error: function(xhr, status, error) {
console.log(status);
console.log(xhr.responseText);
},
success: function(results) {
var chart1;
chart1 = new Highcharts.Chart( {
chart: {
renderTo: 'portlet_content_18',
defaultSeriesType: 'column'
}
});
}
});
}
});
其中HTML看起来像这样:
<div id="portlet_content_18">
只有第一个
div
被图表填充,第二个保持空白。我怎样才能避开这个问题?是的,你可以。请参见此处的示例:
基本上,将jQuery元素分配给变量:
renderTo:$('.myclass')[0]
由于Ido已经存在,您不能有多个ID,但可以有多个类
我必须做到以下几点:
var $containers = $('.container'),
chartConfig = {
chart: {
renderTo: null,
defaultSeriesType: 'column'
}
};
$containers.each(function(i, e){
chartConfig.chart.renderTo = e;
new Highcharts.Chart(chartConfig);
});
此外,您实际上不必将图表对象指定给变量——至少我不想这样做
希望它能帮助某人。您不能有多个id,但可以尝试使用“类”。将其更改为class=“port-18”,并确保在“success”上更新。我已经尝试过了,但运气不太好。下面是我尝试过的一些方法:仅使用$container是行不通的。正如highcharts中的JSFIDLE所示,您必须指定$container[0]。
var $containers = $('.container'),
chartConfig = {
chart: {
renderTo: null,
defaultSeriesType: 'column'
}
};
$containers.each(function(i, e){
chartConfig.chart.renderTo = e;
new Highcharts.Chart(chartConfig);
});