我有一个看起来像是使用d3创建的标记.
Yes Segment
我在带有类的circle元素上有一个mouseover事件node
.我试图隐藏并显示圆圈的兄弟元素与圆圈node-hover-elements
悬停的类.d3中的函数是否类似于siblings()
jquery中的函数?
还会有多个这样的g
元素.我只希望在悬停时显示此元素的兄弟姐妹.
对于D3答案:您可以选择父节点...
d3.select(this.parentNode)
...然后用给定的类选择其中的所有内容:
d3.select(this.parentNode).selectAll(".node-hover-button")
之后,您可以通过该选择做任何您想做的事情.例如,改变兄弟姐妹的不透明度:
d3.selectAll(".node-hover-button").attr("opacity", 0).attr("pointer-events", "none");
d3.select("circle").on("mouseover", function() {
d3.select(this.parentNode).selectAll(".node-hover-button").attr("opacity", 1);
}).on("mouseout", function() {
d3.select(this.parentNode).selectAll(".node-hover-button").attr("opacity", 0);
});