2012-09-01 26 views
14

Tôi gặp sự cố khi cố gắng đặt vòng kết nối và văn bản bên trong một nhóm (cùng cấp, không nằm trong nhau) trong ngữ cảnh .enter()D3js cách thêm 2 trẻ em cùng cấp trong ngữ cảnh .enter

var categorized = g1.selectAll("g.node").data(dataset, function(d){return d.id}) 

categorized 
.enter() 
    .append("g") 
    .attr("id", function(d,i){return d.id;}); 

categorized 
.enter().append("circle") 
    .style("fill", "#ddd"); 
// throws an error 

categorized 
.append('text') 
    .text(function(d,i){return d.count}); 
// this is working but is an update so I have to remove the text on exit 

có cách nào để lấy lại cho phụ huynh, sg như thế này:

categorized 
.enter() 
.append("g") 
.append("circle") 
.getBackToParent // the g 
.append("text"); 

Trả lời

24

Chỉ cần gán các wrapper mẹ d3 cho một biến:

var g = categorized.enter().append("g"); 
g.append("circle").style("fill", "#ddd"); 
g.append("text").text(function(d,i){return d.count}); 
+0

Cảm ơn. Nó đã làm việc. Tôi đã có một vấn đề ràng buộc dữ liệu trước đó và mặc dù sử dụng một var với bối cảnh nhập là một phần của vấn đề nhưng nó không phải. – mikpouet

+0

Điều này rất hữu ích trong 'svg'. Nhưng còn về 'html', ví dụ để thay thế các thẻ'

'và'
'? –

+0

@leonardvertighel: Không chắc chắn ý bạn là gì, bạn có thể muốn hỏi một câu hỏi mới. –

Các vấn đề liên quan