javascript - 将字符串转换为 HTMLElement
问题描述
我希望通过在 HTML 中定义仪表组件来绘制画布仪表,但在绘制页面后激活绘图机制。
用户文档说这可以通过执行以下操作来实现
<script>window.GAUGES_NO_AUTO_INIT = true;</script>
<script src="../gauge.min.js"></script>
并定义画布仪表,然后使用BaseGauge.fromElement(canvasGaugeElement);
我定义了一个画布元素
<canvas class='canv' id='canv0' data-width=200 data-height=80 value=75 data-type='linear-gauge'></canvas>
我可以成功地绘制仪表
BaseGauge.fromElement(canv0);
如果我想同时绘制许多画布仪表,我可以这样做
BaseGauge.fromElement(canv0);
BaseGauge.fromElement(canv1);
BaseGauge.fromElement(canv2);
但是我想使用以下代码:
$('.canv').each(function(i, obj) {BaseGauge.fromElement($(this).attr('id'));});
然而,这失败了,因为 BaseGauge.fromElement 期待一个 HTMLElement 而不是一个字符串
知道如何解决这个问题吗?
解决方案
您正在传递在每个循环中获得的对象的 id 属性......因为BaseGauge
需要一个对象,您只需传递对象本身:
$('.canv').each(function(i, obj) {BaseGauge.fromElement(this);});
并且应该工作。
推荐阅读
- javascript - 一个框架
在某些设备的某些浏览器上失真 - javascript - react-draft-wysiwyg 从动态创建的编辑器更新编辑器状态
- android - WorkContinuation 的第二个 WorkRequest 不起作用
- c# - 扩展继承的属性 c#
- javascript - 使用移动设备/其他笔记本电脑从本地主机登录 Google 登录以进行测试
- javascript - 角度表达式未在视图中更新
- javascript - 新的 AngularJS 数据网格和框架
- batch-file - 使用 for 循环批量删除完整的注册表项
- python - 如果其他列中的值相同,则向前或向后填充 NA
- ios - UIVisualEffectView 模糊图像