我正在尝试实现 cubism我正在使用 d3.js我的 v2 polymer成分。第一步是为图表选择 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/