Javascript d3js-将父元素添加到选择中

Javascript d3js-将父元素添加到选择中,javascript,d3.js,Javascript,D3.js,如何使用d3.js将父元素添加到选择中。假设我有以下几点 <div class="i need a parent">...</div> <div class="i need a parent">...</div> 。。。 ... 我想把它修改成 <a href="..."> <div class="i need a parent">...</div> </a> <a href="..

如何使用d3.js将父元素添加到选择中。假设我有以下几点

<div class="i need a parent">...</div>
<div class="i need a parent">...</div>
。。。
...
我想把它修改成

<a href="...">
    <div class="i need a parent">...</div>
</a>
<a href="...">
    <div class="i need a parent">...</div>
</a>


非常感谢您的任何建议。

仅使用d3是不可能的,但是使用一点标准JavaScript就足够简单了

var selection = d3.selectAll('div.needparent');
selection.each(function() {
    var oldParent = this.parentNode;
    var newParent = document.createElement('a');
    oldParent.replaceChild(newParent, this);
    newParent.appendChild(this);
})
您可以使用d3进行迭代中的一些操作,但由于
replaceChild
需要标准JavaScript,我始终坚持使用它


需要注意的是,如果将事件处理程序绑定到子元素,我不确定这种方法是否会保留这些事件处理程序。

听起来D3不是合适的工具。您需要做的是添加父元素,将子元素从DOM中分离,然后将它们重新连接到父元素。谢谢Lars。我担心这就是答案,但我希望magic d3.js能提供一些东西-再次感谢您的澄清。非常感谢Stephen,我不知道replaceChild会这样做。