我正在使用d3,我想附加一个我要追加的元素。
svg.append('g').attr('foo', 'bar')
.selectAll('rect').data(data)
.enter().append('rect')
.attr('class', function(d) { return 'some-class' })
.attr('y', 0)
.attr('height', 42)
.attr('x', function(d) { return d.x); })
.attr('width', 9001);
// hot damn would it be cool if I could just .append a span here...
我想在我插入的元素上附加一个跨度,但我不知道如何。人们说要使用appendTo,但我不知道如何使用selectAll,我尝试循环遍历元素并添加它们,但这不起作用,我不知道为什么。
svg.append('g').attr('foo', 'bar');
_.each(data, function(d) {
var rect = $('rect')
.attr('class', function() { return 'some-class'; })
.attr('y', 0)
.attr('height', 42)
.attr('x', function() { return d.x; })
.attr('width', 9001)
.append('<span class="cool-class">Spantastic!</span>');
svg.append(rect);
});
我对这种类型的东西不是很熟悉,我做了一些改变,猜测它应该如何,但没有任何作用(d3包含关于没有方法“indexOf”的对象)。有任何想法吗?感谢。
答案 0 :(得分:0)
您应该只需将.append("span")
添加到第一个代码块的末尾即可。这将为每个span
添加rect
元素。