Dom d3选择没有id的元素
我有以下几点Dom d3选择没有id的元素,dom,d3.js,css-selectors,Dom,D3.js,Css Selectors,我有以下几点 <g id="s1s2" class="contact"> <g class="baseCircle"> <path id="s1s2_base"> </g> <path > <path > </g> 它返回所有路径: [[path#s1s2_base, path, path]] 有什么建议吗?您必须更改您不想选择的元素id的id: d3.sele
<g id="s1s2" class="contact">
<g class="baseCircle">
<path id="s1s2_base">
</g>
<path >
<path >
</g>
它返回所有路径:
[[path#s1s2_base, path, path]]
有什么建议吗?您必须更改您不想选择的元素id的
id
:
d3.select('g#s1s2.contact').selectAll('path:not(#s1s2_base)');
在D3中,不带第二个参数的.attr()
函数可以用作getter
因此,选择所有
并对其进行过滤,消除那些具有ID的。在这种情况下
!d3.select(this).attr("id")
对于此类路径,将返回true
var noId=d3.selectAll(“路径”).filter(函数(){
return!d3.选择(this).attr(“id”)
});
console.log(noId.attr(“类”)代码>
您的选择器有点不正确。要选择所有没有id
属性的元素,可以使用“path:not([id])”
。请注意,这是如何使用额外的方括号表示这实际上是一个
console.log(d3.selectAll(“路径:非([id])”).size();//2
!d3.select(this).attr("id")