Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在D3中,如何在可缩放树状图中选择当前节点的特定子元素?_Javascript_D3.js - Fatal编程技术网

Javascript 在D3中,如何在可缩放树状图中选择当前节点的特定子元素?

Javascript 在D3中,如何在可缩放树状图中选择当前节点的特定子元素?,javascript,d3.js,Javascript,D3.js,我正在尝试访问D3可缩放树映射中当前放大单元格的子节点。具体来说,我想替换嵌套的图像节点中的href属性 是否有一种方法可以在函数缩放(d){}中仅选择当前节点的子元素,理想情况下不过滤整个树状图,即使用节点.children属性 大概是这样的: function zoomed(d) { // get children nodes data const currentChildren = d.children; // [Zh, Zh, Zh] - ok // select all

我正在尝试访问D3可缩放树映射中当前放大单元格的子节点。具体来说,我想替换嵌套的
图像
节点中的
href
属性

是否有一种方法可以在
函数缩放(d){}
中仅选择当前节点的子元素,理想情况下不过滤整个树状图,即使用
节点.children
属性

大概是这样的:

function zoomed(d) {

  // get children nodes data
  const currentChildren = d.children; // [Zh, Zh, Zh] - ok

  // select all children of current node
  // and select their image nodes
  // then update href attribute
  d3.select(this)
    .select(d => d.children)
    .selectAll("image")
    .attr("href", d => "/img/" + d.data.image);

}
每个单元结构如下所示:

g
  rect
  clipPath
  svg
    image