我试图找到解决方案,解释为什么我的代码无法与Highcharts一起使用。以下代码导致错误#13,找不到元素。
我正在从Ajax结果返回数据时创建元素<div id="_CPID_Chart_' + cpid +'"></div>
并将其附加到td。
我知道这有一个简单的答案,但我一直在寻找答案,但没有任何结果。
request.done(function(data) {
ajaxData = data;
$(function() {
$('tr#_CPID_' + cpid + ' td').html(''+
' <div class="row">'+
' <div class="col-8">'+
' <div class="contentDiv">'+
' <div><p>Cross Project ID:</p>'+ ajaxData['details']['cpid'] + '</div>'+
' <div><p>Also Known As:</p>' + ajaxData['details']['name'] + '</div>'+
' </div>'+
' </div>'+
' <div class="col-8"><div id="_CPID_Chart_' + cpid + '" style="height: 400px; min-width: 310px;"></div>'+
' </div>'+
' ');
Highcharts.stockChart('#_CPID_Chart_' + cpid, {
rangeSelector: { selected: 1 },
title: { text: 'CPID Chart for ' + cpid },
series: [{ name: cpid, data: ajaxData['magnitude'], tooltip: { valueDecimals: 8 } }]
});
});
});
我还测试了div实际存在并使用以下代码$('#_CPID_Chart_' + cpid).html('Test');
而不是Highcharts.stockChart代码,它没有任何问题。
我认为我错过了有关Highcharts如何呈现其数据的信息。
答案 0 :(得分:1)
您收到错误#13(https://www.highcharts.com/errors/13),因为您使用Highcharts.stockChart('_CPID_Chart_' + cpid, {...});
而不是Highcharts.stockChart('#_CPID_Chart_' + cpid, {...});
。检查下面的更正演示。