【问题标题】:Get content of <div> knowing its id获取 <div> 的内容,知道它的 id
【发布时间】:2016-05-18 17:31:55
【问题描述】:

我正在尝试获取我知道部分 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,它有一个叫做.CanvasJSChart();的方法可以从特定的div元素中获取图表。

【问题讨论】:

  • foo 包含一个字符串,它可能没有名为 CanvasJSChart 的方法。也许你需要$(foo).CanvasJSChart()
  • 我刚刚尝试过,但显然它不起作用......

标签: javascript jquery html canvas canvasjs


【解决方案1】:

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

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

这就是为什么这条线不能工作:

var chart = foo.CanvasJSChart();

foo 需要成为一个 jQuery 对象才能使所有这些工作。例如:

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

【讨论】:

  • 你建议我怎么改?
  • 我回答的最后一行将使foo成为一个jQ对象。
【解决方案2】:

这在 JSFiddle 中对我有用:

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

https://jsfiddle.net/fyvh0o56/

【讨论】:

    猜你喜欢
    • 2016-08-09
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 2021-04-15
    • 2011-07-17
    • 1970-01-01
    • 2012-12-31
    相关资源
    最近更新 更多