Javascript D3:如何通过D3中的内部html从同一类的多个div中选择div?
我已经画了一系列的div,看起来像是从D3开始的按钮,如下所示 我用了这个密码Javascript D3:如何通过D3中的内部html从同一类的多个div中选择div?,javascript,html,css,d3.js,Javascript,Html,Css,D3.js,我已经画了一系列的div,看起来像是从D3开始的按钮,如下所示 我用了这个密码 var years = [1975, 1976,...... ,2016] var buttons = d3.select("body") .append("div") .attr("class", "years_buttons") .selectAll("div")
var years = [1975, 1976,...... ,2016]
var buttons = d3.select("body")
.append("div")
.attr("class", "years_buttons")
.selectAll("div")
.data(years)
.enter()
.append("div")
.text(function(d) {
return d;
});
我想要实现的是选择任何按钮,而不单击“仅通过代码”,使用年份名称作为唯一值来更改按钮的样式。我尝试了以下代码,但没有成功
d3.select(".years_buttons")
.selectAll("div")
.filter(function(d){return d.innerText == '2002'})
.attr('color','white')
在这方面,任何人都能帮我吗,提前谢谢你在你的过滤函数中,d指的是数据,而不是元素。另外,.attr'color',white'将指定color=white作为元素属性,而不是样式。你要找的是风格。要正确过滤,在原始渲染中,可以将数据指定为id和文本,然后使用该id选择目标元素:
风险值年数=[1975、1976、2016]
var按钮=d3.selectbody
.appenddiv
.attr类,年份按钮
.selectAlldiv
.数据年
进来
.appenddiv
.attr'id',函数d{
返回'id'+d;
}
.textfunctiond{
返回d;
};
d3.选择“id1975”
.样式“颜色”、“白色”
尽管样式正确,但不需要在此处添加ID,只需使用基准: