问题在于此处.classed(arr[i], true)
在哪里i申报?您需要按顺序迭代,div在div中访问正确的类名。为此,请使用selection.each()var arr = ["day", "hour", "min", "sec"];d3.select("#countdown").selectAll("div")
.data(arr)
.enter()
.append("div")
.each(function(d, i) {
var div = d3.select(this);
div.classed(arr[i], true);
})
.append("span");
见工作示例var arr = ["day", "hour", "min", "sec"];d3.select("#countdown").selectAll("div")
.data(arr)
.enter()
.append("div")
.each(function(d, i) {
var div = d3.select(this);
div.classed(arr[i], true);})
.append("span");
(您必须使用DevTools中的inspect元素来验证html是否正确形成)