我试过了
d3.select(".cell:first") d3.selectAll(".cell").filter(":first") d3.selectAll(".cell").select(":first")
但没有工作
解决方法
d3.select(“.cell”)已经选择了第一个匹配的元素:
Selects the first element that matches the specified selector string,returning a single-element selection. If no elements in the current document match the specified selector,returns the empty selection. If multiple elements match the selector,only the first matching element (in document traversal order) will be selected.
资料来源:https://github.com/mbostock/d3/wiki/Selections#wiki-d3_select
“我该如何得到最后一项?”
D3似乎将d3.selectAll()的结果返回到一个位于数组中的集合中.例如,请求d3 homepage上的所有段落结果如下:
[ Array[32] ] // An array with a single array child. Child has 32 paragraphs.
所以如果我们想要收集该集合的最后一个段落,我们可以执行以下操作:
var paragraphs = d3.selectAll("p"); var lastParag = paragraphs[0].pop();
或更简洁:
var obj = d3.select( d3.selectAll("p")[0].pop() );
“怎么样?最后一个孩子?”
最后一个子选择器与获取页面上的最后一个元素不同.此选择器将为您提供作为其父容器的最后一个子节点的元素.考虑以下标记:
<div id="foo"> <p>Hello</p> <p>World</p> <div>English</div> </div> <div id="bar"> <p>Oie</p> <p>Mundo</p> <div>Portuguese</div> </div>
在这个例子中,运行d3.select(“p:last-child”)不会返回任何段落.甚至d3.selectAll(“p:last-child”)不会.这些容器都不是最后一个小孩,它是一个段落(他们是< div>元素:< div>英文< / div>和< div>葡萄牙语< / div>).