javascript - 无法在 Polymer 中获取 d3 的元素

标签 javascript jquery d3.js polymer cubism.js

我正在尝试实现 cubism我正在使用 我的 v2 成分。第一步是为图表选择 DOM 元素:

d3.select("#example1").call(function(div) {
...    
});

这会在 cubism.v1.js 的第 1205 行返回以下错误:

Uncaught TypeError: Cannot read property 'appendChild' of null

检查代码后,div对象没有 ID 且 innerHtml值是我的 html 的全部(以 <head> 开始,以 </body> 结束)。

我假设这是由于 polymer 渲染 <div id='example1'></div>代码运行后,但我不确定。我试着把 select声明都在自己的<script><dom-module> 下标记在Polymer.ready功能。两者的结果相同。

我该如何解决这个问题?

最佳答案

我能够通过改变这个来解决这个问题:

d3.select("#example1").call(function(div) { .. }

为此:

var chart = self.$$('#example1');
d3.select(chart).call(function(div) { ... }

如此处 Automatic node finding 下所述.

关于javascript - 无法在 Polymer 中获取 d3 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40029152/

相关文章:

javascript - 带有字符串插值的字符串数组

javascript - 为什么 bootstrap 同时显示 2 个选项卡?

javascript - Select2 使用 tags = true 自动选择第一个选项

javascript - 使用 $.parseJSON 时为 "Unexpected token o"

javascript - 如何从具有相同属性名称的对象设置多个类属性?

javascript - 如何在 Mongoose 中获得多个结果并将其合并为一个响应

javascript - 为什么我得到 "map.set_center is not a function"?

javascript - 如何在图表条上方显示值标签?

javascript - 将图表放置在左上角

javascript - visjs.org 库 : display only event dates