如何从html元素中获取javascript var数据?(使用canvasjs)
How to get javascript var data from html element? (working with canvasjs)
我正在尝试用CanvasJS制作一个图表。这是我的HTML:
<div id="chartContainer" style="height: 360px; width: 100%;"></div>
<div id="test1">100</div>
<div id="test2">110</div>
我的JS是
var dataPoint1 = document.getElementById("test1");
var dataPoint2 = document.getElementById("test2");
var chart = new CanvasJS.Chart("chartContainer",
{
data: [
{
type: "column",
dataPoints: [
{ label: "Apple", y: dataPoint1},
{ label: "Mango", y: dataPoint2}
]
}
]
});
chart.render();
请看我的小提琴:图表没有正确渲染。
您需要添加innerHTML
才能访问DOM元素中的内容。此外,您还需要应用parseInt
来解析中的字符串并返回一个整数。
var dataPoint1 = document.getElementById("test1").innerHTML;
var dataPoint2 = document.getElementById("test2").innerHTML;
在这里查看您更新的jsfiddle
在原始代码中,您将变量设置为整个元素,而不是元素中的值。您应该始终使用console.log
,然后您可以在控制台中看到您得到的结果。检查元素中的typeof
也很有用,因为这会帮助您看到它返回的是String
,而不是Number
。
即console.log(dataPoint1)
——最初这是返回<div id="test1">10</div>
,这将帮助您意识到需要在div中获得值,而不是整个元素。
var dataPoint1 = document.getElementById("test1").innerHTML;
var dataPoint2 = document.getElementById("test2").innerHTML;
var chart = new CanvasJS.Chart("chartContainer",
{
data: [
{
type: "column",
dataPoints: [
{ label: "Apple", y: parseInt(dataPoint1)},
{ label: "Mango", y: parseInt(dataPoint2)}
]
}
]
});
chart.render();
<script src="https://cdnjs.cloudflare.com/ajax/libs/canvasjs/1.7.0/canvasjs.min.js"></script>
<div id="chartContainer" style="height: 360px; width: 100%;"></div>
<div id="test1">10</div>
<div id="test2">12</div>
我想您需要类似元素的值,并通过在+
前面加一个parseInt()
:将值转换为数字
var dataPoint1 = +document.getElementById("test1").textContent.trim();
var dataPoint2 = +document.getElementById("test2").textContent.trim();
或:
var dataPoint1 = parseInt(document.getElementById("test1").textContent.trim(), 10);
var dataPoint2 = parseInt(document.getElementById("test2").textContent.trim(), 10);
您需要检索这些元素的实际内容,可能需要使用dataPoint1.innerHTML
。然后,您需要使用parseInt()
进一步解析为int
请参阅:http://jsfiddle.net/6gawzc74/4/对于我的"修复"
相关文章:
- 对API数据使用声明性绑定
- 异步获取数据使用JavaScript同步获取数据
- 如何在字符串中的值之前删除字符串中的动态数据?/ 使用 Lodash 的 _.trimStart 与动态数据
- 如何在IE CORS中发送POST数据(使用XDomainRequest)
- <img src=“;数据:..使用gzip文件
- ng使用angular中的json数据使用optgroup重复select
- KO网格无法保存编辑单元格中的数据-使用Plunker
- 使用C3.js对不同的数据使用相同的json键
- 如何从html元素中获取javascript var数据?(使用canvasjs)
- 对从Ajax返回的数据使用Jquery方法,不打印数据
- 对 svg 数据使用
- JSON 数据 - 使用 Javascript/Jquery 按星期几(周日、周一、周二、周三、周四、周五、周六)分组
- 通过PHP将动态mp3数据使用到嵌入式播放器中不起作用
- 如何在两个
之间共享数据?使用AngularJS和温泉UI - 如何从图表谷歌脚本的电子表格中检索数据.(使用 HTML 服务)
- 保存Chrome扩展程序数据(使用LocalForage)
- 如何在 AngularJS 中对来自另一个范围的数据使用过滤器
- 我的 JSON 数据使用 AJAX 加载了两次,它只应该在单击时加载一次
- 如何使用表单中的数据使用 js 制作表格
- 我如何通过jsonencode数据使用Javascript选择下拉值