1 回答

TA贡献2080条经验 获得超4个赞
请记住,D3 选择是不可变的。这意味着cards无论使用merge. 因此,您只有一个带有html方法的“输入”选择。
要更改cards,您必须重新分配它:
cards = cards.enter()
//etc...
.merge(cards)
//etc...
整个片段应该是这样的:
var cards = d3.select('.card-columns')
.selectAll('.card')
.data(data1.filter(function(d) {
return (status == "" || status == d.status) && (category == "" || category == d.category)
}));
cards.exit().remove();
cards = cards.enter()
.append("div")
.classed("card animated fadeInUp", true)
.merge(cards)
.style("border-top", function(d) {
return "6px solid" + dateColor(d.status)
})
.html(function(d, i) {
return drawCard(d, i);
});
添加回答
举报