Javascript 将不同的类分配给D3中的第一个附加div

Javascript 将不同的类分配给D3中的第一个附加div,javascript,jquery,twitter-bootstrap,d3.js,Javascript,Jquery,Twitter Bootstrap,D3.js,我正在使用d3构建一个引导转盘div堆栈。我需要第一个div使class=item处于活动状态,其余的都是item。代码如下: var slides = d3.select(".carousel-inner").selectAll("div") .data(data).enter() .append("div") .attr("class","active") .attr("id",function(

我正在使用d3构建一个引导转盘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");
我玩过使用“classed”的游戏

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; });
d3的
classed()
可以使用函数,就像
attr()
style()
函数一样:

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

注意:使用
selectAll(“.active”)
而不是
select(“.active”)
就像您使用它一样。

感谢您的回复。我尝试了以下方法:对不起,我用你的建议更新了问题。我运行了,但它没有纠正问题。@chemnteach根据您显示的内容,它应该可以工作。注意拉尔斯的评论;也许这就是正在发生的事情。另外,在控制台中检查是否实际分配了类。console.log
d
i
。抱歉,我有一个jquery错误,我没有看到它阻止了您的解决方案发生。这已更正,现在已正确设置。拉尔斯的纠正也有帮助。谢谢你们。根据你们所说的,代码应该是相反的,也就是说,将类“item”分配给所有的东西,然后运行
d3。selectAll(“.item”)。classed('active',function(d,i){return i==0;})