2013-05-26 21 views
6

Başka bir gruba yerleştirilmiş birkaç grubum var (SVG G öğeleri) ve kimliklerini almak istiyorum. SVG'yi oluşturmak için D3 javascript kütüphanesini kullandım ve kod buna benzer görünüyor. Başka bir SVG öğesinde (üstte) bulunan SVG (alt öğe) öğelerine D3 kullanarak nasıl başvurulur?

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') 

Ben childNodes özellik kullanmak çalıştı, ancak console.log (outerG [0] .childNodes) beni tanımsız verir. Google ile doğru cevap arama bulunamadı, birisi bana bunun nasıl yapılacağını bir ipucu verebilir misiniz?

cevap

6

Bu çalışacaktır:

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

jsFiddle here

iki iç içe endeksleri Tüm seçimleri örtülü gruplandırılmış olmasıdır ihtiyaç nedenini öğrenin. Bunun daha derin nedenlerini öğrenmek veya genel olarak daha iyi olanları anlamak istiyorsanız, bkz. this article

+0

Çok teşekkür ederim, günümü yaptın! İç içe geçmiş elemanların ortaya çıkan dizisi boyunca döngü yapmak yerine, çocuk öğelerinin kimliklerini doğrudan elde etmek mümkün olup olmadığını merak ediyorum. – karlitos