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

标签 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="...">
    <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,所以我始终坚持这样做。

需要注意的是,如果您将事件处理程序绑定(bind)到子元素,我不确定它们是否会通过这种方法保留。

关于javascript - d3js - 将父元素添加到选择中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22458530/

相关文章:

javascript - 单击时更改 jQuery 中的输入字段值

css - 在 DIV 中发布 d3 js 树形图样式

node.js - Dc.js lineChart 失败

javascript - 检测距离鼠标指针最近且带有中断线的线

javascript - 被动网络切换后如何重新连接套接字

javascript - jQuery表格搜索切表头

javascript - D3.js 从现在开始的时间刻度

javascript - d3.js 条形图中旋转的 x 轴标签被 chop

javascript - d3.nest() 不是函数

javascript - 如何使用 React.cloneElement 将 Prop 传递给 child ?