我想选择所有具有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)。
答案 0 :(得分:0)
我怀疑target
不是行元素的属性,而是数据属性的属性。除此之外,在选择上调用selectAll
不会返回空选:您可能还有其他问题。最后,请注意您使用带有ID的selectAll
这一事实,这没有多大意义:ID必须唯一。
无论如何,无论您在这些属性选择器中使用什么,您都可以使用多个属性选择器:
selectedLine = d3.selectAll("line[id='foo'][target='bar']")
多个属性选择器可用于引用元素的多个属性,甚至可以多次引用同一属性。
这里,选择器匹配所有SPAN元素,其中"你好"属性具有正确的价值"克利夫兰"和谁的再见"属性具有正确的值"哥伦布":
span[hello="Cleveland"][goodbye="Columbus"]