是否可以在d3中只选择一个子集/子组?
现在我有
d3.selectAll(".row")
现在在我有单元格的行下方,我想从第 3 行中选择所有单元格,如图所示 subset example . 没有 get(3) 或 [3] 选项。
感谢您的帮助。
d3.selectAll(".row").selectAll(".cell")
给我所有的细胞
最佳答案
有很多方法可以做到这一点。我最喜欢的是使用 css :nth-child
选择器:
d3.select(".row:nth-child(3n)").selectAll(".cell");
还有一些:
<!DOCTYPE html>
<html>
<head>
<script data-require="d3@4.0.0" data-semver="4.0.0" src="https://d3js.org/d3.v4.min.js"></script>
</head>
<body>
<div class="row">
<div class="cell">a</div>
<div class="cell">b</div>
<div class="cell">c</div>
</div>
<div class="row">
<div class="cell">d</div>
<div class="cell">e</div>
<div class="cell">f</div>
</div>
<div class="row">
<div class="cell">g</div>
<div class="cell">h</div>
<div class="cell">i</div>
</div>
<div class="row">
<div class="cell">j</div>
<div class="cell">k</div>
<div class="cell">l</div>
</div>
</body>
<script>
var w1 = d3.select(document.querySelectorAll(".row")[2]).selectAll(".cell"),
w2 = d3.selectAll(".row").filter((d,i) => i === 2).selectAll(".cell"),
w3 = d3.select(d3.selectAll(".row").nodes()[2]).selectAll(".cell"),
w4 = d3.select(".row:nth-child(3n)").selectAll(".cell");
</script>
</html>
关于javascript - 仅选择 d3 中的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43836262/