为D3中的第一个附加div分配不同的类

时间:2014-05-01 16:26:17

标签: javascript jquery twitter-bootstrap d3.js

我正在使用d3构建一个Bootstrap轮播div堆栈。我需要第一个div让class = item激活,其余的只是item。代码如下:

var slides = d3.select(".carousel-inner").selectAll("div")
            .data(data).enter()
            .append("div")
            .attr("class","active")
            .attr("id",function(d) {return d.waferId;})
            .append("div")
            .attr("class","container-fluid")
            .append("div")
            .attr("class","row");

我玩过'分类'

d3.select(".active").classed('item',true);

但似乎不起作用。我确信有一个简单的答案,但我是d3的新手。任何建议总是受到赞赏。

以下情况也不起作用:

    var slides = d3.select(".carousel-inner").selectAll("div")
            .data(data).enter()
            .append("div")
            .attr("class","active")
            .attr("id",function(d) {return d.waferId;})
            .append("div")
            .attr("class","container-fluid")
            .append("div")
            .attr("class","row");

        d3.selectAll(".active").classed('item', function(d, i) { return i == 0; });

1 个答案:

答案 0 :(得分:0)

d3 classed()可以使用函数,就像attr()style()函数一样:

d3.selectAll(".active").classed('item', function(d, i) { return i == 0 });

注意:使用selectAll(".active")而不是select(".active"),就像你拥有它一样。