如何检查svg圈是否有指定的类?

时间:2016-08-26 10:34:53

标签: javascript d3.js

以下是我的代码。我用class" cir"创建了一个圆圈。如何检查我的圈子是否正在上课?

{{1}}

1 个答案:

答案 0 :(得分:0)

在D3中,attr既是setter又是getter。所以,在选择中,如果你写:

selection.attr("class", "foo")

您正在为该选择分配一个班级foo。但如果你只写

selection.attr("class")

你得到了那个选择的类。

检查下面的代码,它会在控制台中记录您的圈子类:

var data = [50, 100, 150];

var svg = d3.select("body")
	.append("svg")
	.attr("width", 200)
	.attr("height", 200);
	
var circles = svg.selectAll(".circles")
	.data(data)
	.enter()
	.append("circle");

circles.attr("cx", function(d) {return d;})
    .attr("cy", function(d) {return d;})
		.attr('r','8')
    .attr("class","cir"); 
		
var myClass = circles.attr("class");

console.log(myClass);
<script src="https://d3js.org/d3.v4.min.js"></script>

因此,要获得圆圈的等级,您可以使用:

var myClass = circles.attr("class");
console.log(myClass);

或者:

var myClass = svg.selectAll("circle").attr("class");
console.log(myClass);