gpt4 book ai didi

d3.js - 迭代选择时如何访问 "previous sibling"的 `this`?

转载 作者:行者123 更新时间:2023-12-02 15:38:27 31 4
gpt4 key购买 nike

在以下代码中,假设 $sel 是某种任意 d3.js 选择:

$sel.each(function(d, i, j) {
var prev = ??? ;
...
});

我可以用什么来替换???来分配给prev一个d3.js选择,该选择由this的前一个同级组成 >(如果存在的话)?

(如果 this 是第一个子级,因此没有前一个同级,则应将空的 d3.js 选择分配给 prev。)

最佳答案

可能很简单

var prev = d3.select(this.previousSibling);

如果您只对元素节点感兴趣,那么您会选择

var prev = d3.select(this.previousElementSibling);

d3.selectAll(".c").each(function() {
console.log(d3.select(this)); // Element <p class="c"></p>
console.log(d3.select(this.previousSibling)); // text node containing whitespace between b and c
console.log(d3.select(this.previousElementSibling)); // Element <p class="b"></p>
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<div>
<p class="a"></p>
<p class="b"></p>
<p class="c"></p>
<p class="d"></p>
<p class="e"></p>
</div>

关于d3.js - 迭代选择时如何访问 "previous sibling"的 `this`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29541520/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com