admin管理员组文章数量:1316980
I have created a SVG element with some nodes:
gnodes = svg.selectAll("g.node")
.data(_nodes);
var newNodes = gnodes.enter().append("g")
.attr("class", "node")
.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; })
.call(drag)
.on('mouseover', onMouseOver)
.on('mouseout', onMouseOut);
newNodes.append("circle")
.attr("cx", 0)
.attr("cy", 0)
.attr("r", radius);
newNodes.append("image")
.attr("xlink:href", getImage)
.attr("x", -radius/2)
.attr("y", -radius/2)
.attr("width", radius + "px")
.attr("height", radius + "px");
In the onMouseOver I want to change the colour of highlighted circle, but I can not get this item from the data I receive:
function onMouseOver(d, i) {
var c1 = d.select("circle"); // error
var c2 = i.select("circle"); // error
var c3 = d.selectAll("circle"); // error
var c4 = i.selectAll("circle"); // error
}
What is a way to get child node with d3?
I have created a SVG element with some nodes:
gnodes = svg.selectAll("g.node")
.data(_nodes);
var newNodes = gnodes.enter().append("g")
.attr("class", "node")
.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; })
.call(drag)
.on('mouseover', onMouseOver)
.on('mouseout', onMouseOut);
newNodes.append("circle")
.attr("cx", 0)
.attr("cy", 0)
.attr("r", radius);
newNodes.append("image")
.attr("xlink:href", getImage)
.attr("x", -radius/2)
.attr("y", -radius/2)
.attr("width", radius + "px")
.attr("height", radius + "px");
In the onMouseOver I want to change the colour of highlighted circle, but I can not get this item from the data I receive:
function onMouseOver(d, i) {
var c1 = d.select("circle"); // error
var c2 = i.select("circle"); // error
var c3 = d.selectAll("circle"); // error
var c4 = i.selectAll("circle"); // error
}
What is a way to get child node with d3?
Share Improve this question edited Mar 9, 2016 at 14:54 Eduard Luca 6,61218 gold badges88 silver badges142 bronze badges asked Jun 4, 2015 at 5:44 DmitryDmitry 2,1494 gold badges18 silver badges24 bronze badges1 Answer
Reset to default 7d
is the data object and i
the index. Both are not d3 instances that provide access to any of the d3 select
functions.
Try this:
myelement.on('mouseenter', function(d,i) {
d3.select(this).select('circle');
});
本文标签: javascriptProper way to select child nodes in D3Stack Overflow
版权声明:本文标题:javascript - Proper way to select child nodes in D3 - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742011900a2413039.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论