在d3.js中使用selectAll

时间:2017-06-28 13:58:00

标签: d3.js css-selectors

我想选择所有具有Y Z属性的X.例如,我想特别选择ID为d.id AND 的所有行d.target的目标。这是我无法弄清楚的'和'部分;我从文档中假设它应该是这样的:

selectedLine = d3.selectAll("line[id="+d.id+"]").selectAll(line[target="+d.target+"]");

但是在选择上调用selectAll总是向我返回一个空选择,无论内容如何(在这种情况下,我确定存在一行ID为d.id且目标为d.target)。

1 个答案:

答案 0 :(得分:0)

我怀疑target不是行元素的属性,而是数据属性的属性。除此之外,在选择上调用selectAll不会返回空选:您可能还有其他问题。最后,请注意您使用带有ID的selectAll这一事实,这没有多大意义:ID必须唯一

无论如何,无论您在这些属性选择器中使用什么,您都可以使用多个属性选择器:

selectedLine = d3.selectAll("line[id='foo'][target='bar']")

根据documentation

  

多个属性选择器可用于引用元素的多个属性,甚至可以多次引用同一属性。

     

这里,选择器匹配所有SPAN元素,其中"你好"属性具有正确的价值"克利夫兰"和谁的再见"属性具有正确的值"哥伦布":

span[hello="Cleveland"][goodbye="Columbus"]