2016-11-23 5 views

답변

2

당신은 첫째로, 당신이 여기 s.select 대신 s.selectAll를 사용해야 대해 forEach here

의 스냅 문서를 찾을 수 있습니다. 당신이 다음 대해 forEach를 사용할 수 있도록 선택의 첫 번째 요소를 선택합니다

var set = s.selectAll 

이는 selectAll는 CSS 셀렉터와 일치하고 세트에 넣어 모든 요소를 ​​선택합니다.

그런 다음 예제와 유사하게 반복 할 수 있습니다. 그래서 '*'선택자를 사용하여 예를 들어 어린이를 가져옵니다. 당신은 단지 그들에게 몇 가지 속성을 설정하려는 당신이 구체적으로 foreach 문이 필요하지 않은 경우 몇 가지 방법이 세트에 적용 할 수있는

s.selectAll('#group1 *') 
.forEach(function(el) { 
    el.attr({ fill: 'blue' }); 
}); 

, 당신은 아마도 그것을 피할 수 있습니다. 그래서 위의 예제는 다음과 같이 쓰여질 수 있습니다.

s.selectAll('#group1 *').attr({ fill: 'red' }); 
+0

참고 : 직접 선택하는 어린이의 경우 s.selectAll ('# group> *') – foreyez