Javascript 获取<;部门>;知道它的id

Javascript 获取<;部门>;知道它的id,javascript,jquery,html,canvas,canvasjs,Javascript,Jquery,Html,Canvas,Canvasjs,我正在尝试获取我部分了解其id的元素的内容。 foo变量已正确生成,但我无法让它从div元素返回图表对象。 这是我正在使用的jQuery代码: $(".addViewport").click(function () { var foo = "#" + $(this).parent().children('div[id$="_chart"]').attr('id'); var chart = foo.CanvasJSChart(); char

我正在尝试获取我部分了解其id的元素的内容。
foo变量已正确生成,但我无法让它从div元素返回图表对象。
这是我正在使用的jQuery代码:

$(".addViewport").click(function () {                   

  var foo = "#" + $(this).parent().children('div[id$="_chart"]').attr('id');

  var chart = foo.CanvasJSChart();

  chart.options.axisX.viewportMaximum += 86400000;
  chart.render();

});
这是html:

<div id="temperature">
    <div id="temperature_chart" style="height: 300px; width: 100%;"></div>
    <button class="addViewport">Viewport +</button>
</div>

视区+

我使用的图表库名为CanvasJS,它有一个从特定div元素获取图表的方法。

此行返回一个字符串(
“#temperature_chart”
):

这就是为什么这一行行不通的原因:

var chart = foo.CanvasJSChart();

foo
需要成为jQuery对象,才能使所有这些都起作用。例如:

var foo = $(this).parent().children('div[id$="_chart"]');

这在JSFIDLE中对我起了作用:

$(".addViewport").parent().children().get(0)

foo
包含一个字符串,该字符串可能没有名为
CanvasJSChart
的方法。也许你需要
$(foo).CanvasJSChart()
?我刚刚尝试过,但显然不起作用…你建议我如何更改它?我的答案的最后一行将使
foo
成为jQ对象。
$(".addViewport").parent().children().get(0)