Javascript 获取D3中元素的颜色

Javascript 获取D3中元素的颜色,javascript,d3.js,Javascript,D3.js,对于以下d3代码: var previousElement = d3.select(this); console.log(previousElement.attr("style")); 结果是: fill: red; 或 那么我怎样才能得到这个元素的确切颜色,这样我就可以做出如下判断: if ( elementColor == 'red') 或 我尝试了var elementColor=previousElement.attr(“style”).fill,它返回null我相信你想要的是pr

对于以下
d3
代码:

var previousElement = d3.select(this);
console.log(previousElement.attr("style"));
结果是:

fill: red;

那么我怎样才能得到这个元素的确切颜色,这样我就可以做出如下判断:

if ( elementColor == 'red')


我尝试了
var elementColor=previousElement.attr(“style”).fill
,它返回
null
我相信你想要的是
previousElement.style('fill')
而不是使用
.attr('style')
。有关文档,请参阅

您可能还想查看D3颜色文档,因为这可能会对您有更大的帮助。

您可以使用来解析指定为样式的内容,然后比较R、G和B组件:

var colour = d3.rgb(previousElement.attr("style"));
if(colour.r == 255 && colour.g == 0 && colour.b == 0) {
  // ...
}

您看过d3的颜色文档了吗?如果您对单词as fill有信心,那么只需检查as elementColor=“fill:red”就行了,只是好奇,有什么理由否决投票吗?
if (elementColor == 'rgb(152, 223, 138)')
var colour = d3.rgb(previousElement.attr("style"));
if(colour.r == 255 && colour.g == 0 && colour.b == 0) {
  // ...
}