我正在使用示例代码 - http://bl.ocks.org/cjrd/6863459创建有向图并在线播放。代码已经有一个名为
的函数GraphCreator.prototype.changeTextOfNode
此功能在节点上放置可编辑文本,以便用户可以更改该值,并在用户在按住Shift键的同时单击节点时调用该值。现在,我想做一些非常相似的事情。我希望在按住Ctrl键的同时单击节点时更改节点的颜色。为此,我提出的功能是 -
GraphCreator.prototype.changeColorOfNode = function(d3node, d){
try{
d3node.style("fill","red");
}
catch(e){
alert(e.message);
}
}
现在,我总是将颜色更改为红色,只是为了检查这是否有效。我看到的是,代替节点更改的圆圈的填充颜色,圆圈中文本的字体颜色变为红色。有没有人知道我将如何改变填充颜色?
答案 0 :(得分:2)
目前,您正在将填充样式应用于g元素而不是圆形。这就是为什么只有文字颜色改变的原因。您应该尝试如下所示。
d3node.select("circle").style("fill","red");
查找节点的现有颜色
d3node.select("circle").style("fill"); //returns current fill color applied