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) {
// ...
}