d3.按属性值选择
我是d3的新手。 我有这样的定义:
node = node.enter().append("circle") .attr('id', function(d){ return d.id; }) .attr("class", "node") .on('mouseover', mouseover_node) .on("click", nodeClick);
现在在函数nodeClick中我想访问具有特殊id的节点(或循环)。 我正在寻找可以像这样使用的东西:
for(var i=0;i<maxId;i++) { d3.select(the node with id = i).do....
有人知道我怎么做吗?
你的问题是id
和name
必须以字母开头 。 因此,修改代码以在每个id
一个字符串,例如
.attr('id', function(d){ return 'name' + d.id; })
然后,您可以使用d3.select( '#name' + i )
选择给定节点。 从D3选择的文档 :
…您可以通过标签(“div”),类(“.awesome”),唯一标识符(“#foo”),属性(“[color = red]”)或包含(“父子”)进行选择。