0

我正在使用 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”的对象)。有任何想法吗?谢谢。

4

1 回答 1

0

您应该能够简单地添加.append("span")到您的第一个代码块的末尾。span这会将一个元素附加到每个rect.

于 2013-12-02T21:38:46.537 回答