Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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
d3.js相当于jQuery';让我们分开?_D3.js - Fatal编程技术网

d3.js相当于jQuery';让我们分开?

d3.js相当于jQuery';让我们分开?,d3.js,D3.js,下面显示的move_to_last回调的净效果是使this成为其在DOM中所有同级中的最后一个(this预计是一个DOM元素)。它首先将this从DOM中分离出来,然后将其重新附加到其原始父级 function move_to_last () { var n = jQuery(this); n.parent().append(n.detach()); } 此函数的预期用途如下 jQuery(".someclass").each(move_to_last); 如何定义函数move_to

下面显示的
move_to_last
回调的净效果是使
this
成为其在DOM中所有同级中的最后一个(
this
预计是一个DOM元素)。它首先将
this
从DOM中分离出来,然后将其重新附加到其原始父级

function move_to_last () {
  var n = jQuery(this);
  n.parent().append(n.detach());
}
此函数的预期用途如下

jQuery(".someclass").each(move_to_last);
如何定义函数
move_to_last_d3
,使表达式

d3.selectAll(".someclass").each(move_to_last_d3);
将具有与上一个表达式相同的效果


我在
d3.js
中看到了一个
append
方法,但我看不到类似于
detach
的东西。因此,这个问题可以归结为d3.js与jQuery的
detach
方法的等价物是什么。您应该能够在发布代码时运行代码。

D3本身不提供此功能,但它与JQuery配合使用效果很好。您应该能够在发布代码时运行该代码。

没有等效代码,但是您应该能够运行您发布的D3代码,并实现
移动到最后一个
@LarsKotthoff:谢谢!(如果作为答案发布,我很乐意接受。)@Larskothoff如果您尝试在不使用数据函数的情况下重新绑定数据,则此方法存在问题(即DOM将与D3认为存在的内容不同步)。请参阅相关讨论并澄清最后的评论。D3不保存DOM的状态。它的匹配是无状态的。关键是,当使用默认的匹配函数(依赖于数组中的索引)时,在对DOM元素重新排序时,不同的数据元素将被匹配。没有等效的,但您应该能够运行您发布的D3代码,实现了
move_to_last
@larskothoff:谢谢!(如果作为答案发布,我很乐意接受。)@Larskothoff如果您尝试在不使用数据函数的情况下重新绑定数据,则此方法存在问题(即DOM将与D3认为存在的内容不同步)。请参阅相关讨论并澄清最后的评论。D3不保存DOM的状态。它的匹配是无状态的。关键是,当使用默认匹配函数(依赖于数组中的索引)时,在对DOM元素重新排序时,将匹配不同的数据元素。