2013-05-26 147 views
6

我有几个组(SVG G元素)嵌套在另一个组中,我想获得他们的ID。我使用D3 JavaScript库创建SVG,代码看起来与此类似。如何使用D3嵌套在另一个SVG元素(父级)中的SVG(子元素)元素的引用?

var body = d3.select("body"); 

var svg = body.append("svg") 
    .attr("width", '100%') 
    .attr("height", '100%') 

var outerG = svg.append("g") 
    .attr('id','outerG') 

var innerG1 = outerG.append('g') 
    .attr('id','innerG1') 

var innerG2 = outerG.append('g') 
    .attr('id','innerG2') 

我试图用的childNodes属性,但的console.log(outerG [0] .childNodes)给我不确定。无法找到正确的答案与谷歌搜索,可以请别人给我一个提示如何做到这一点?

回答

6

这将工作:

console.log(outerG[0][0].childNodes); 

jsFiddle here

需要两个嵌套的指标是,所有的选择都隐含分组的原因。如果您想知道更深层次的原因,或者想更好地了解选择,请参见this article

+0

非常感谢您,您让我的一天!我想知道是否可以直接获取子元素的ID,而不是循环遍历嵌套元素的结果数组。 – karlitos