如何从d3节点数据中获取dom svg元素?

爱奥尼亚比乌

我有一个nodes变量,它是一个数组,其中所有节点都来自图。每个节点g在DOM中都有一个SVG (组)SVG元素。

要选择具有DOM元素的数据d3.select(myElement).data()[0],但是如何获得具有数据的DOM元素呢?

拉尔斯·科特霍夫(Lars Kotthoff)

您可以使用D3的数据匹配进行此操作。想法是让数据为您“识别”正确的元素。

d3.selectAll("allMyElements").data([datumIwantElementFor], suitableKeyFunction);

在此处完成演示

需要明确的是,我建议您采用这种方法。当您向文档中添加更多元素并意外选择其中一些元素,在多个位置使用相同数据或更改数据格式时,这很容易中断。除非您知道所要查找的内容,否则它将导致很难发现的错误。

更好的方法是为该数据绑定到的每个元素分配一个ID或类,以便在拥有数据时可以直接选择它。这也将更加有效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在d3中获取所选svg元素的类

来自分类Dev

如何使SVG元素链接?

来自分类Dev

如何使SVG元素链接?

来自分类Dev

如何移动svg元素?

来自分类Dev

如何隐藏svg元素

来自分类Dev

如何获取svg元素的坐标?

来自分类Dev

D3:基于svg元素更改数据

来自分类Dev

如何旋转SVG中的元素?

来自分类Dev

如何切换 D3 SVG 元素的位置

来自分类Dev

如何使用D3从GeoJSON数据集中获取投影的路径定义字符串(不是SVG元素)?

来自分类Dev

获取svg元素的边界框?

来自分类Dev

获取svg元素的边界框?

来自分类Dev

如何对SVG元素进行分组

来自分类Dev

如何获得SVG元素的位置

来自分类Dev

在曲线中显示SVG元素

来自分类Dev

在SVG元素中设置CSS

来自分类Dev

如何使用d3js获取svg元素的宽度?

来自分类Dev

如何判断DOM元素是HTML还是SVG?

来自分类Dev

如何在d3 javascript中为SVG文本元素分配唯一ID

来自分类Dev

如何将SVG元素的属性传递给D3中的新事件?

来自分类Dev

如何在d3 js中区分单击鼠标和双击同一节点元素

来自分类Dev

如何从embed标签内部获取svg元素?

来自分类Dev

在SVG中获取锚点元素

来自分类Dev

节点删除的D3更新始终删除SVG DOM中的最后一个条目

来自分类Dev

SVG元素的D3多行工具提示

来自分类Dev

D3事件在隐藏的svg元素上触发

来自分类Dev

删除d3 svg元素以重画

来自分类Dev

在mouseenter(D3)上放大svg组元素

来自分类Dev

元素上的d3 mouseover与svg mousemove冲突