我想使用StackOverflow 中的这种方法处理 D3.js 中重叠的 SVG 元素。
但是,由于我的代码的性质,我想使用 D3 选择器而不是this
将元素重新添加到 DOM。我的问题是:如何使用 D3 选择器来获取相关节点?
这是原始示例的执行方式:
this.parentNode.appendChild(this);
这是我的尝试,失败并显示“Uncaught TypeError: Cannot call method 'appendChild' of undefined”:
var thisNode = d3.select("#" + id);
thisNode.parentNode.appendChild(thisNode);
这个 JSFiddle(改编自原始示例)演示了这个问题:http: //jsfiddle.net/cpcj5/
我的 D3 选择与this
原始示例中的选择有何不同?我尝试使用thisNode.node().parentNode.appendChild(thisNode)
但也失败了。