셀렉션

selection은 「.selectAll()의 대상이 되는 DOM」과 「.data()로 전달한 데이터」를 비교하면 이해하기 쉽습니다.

  1. update: 대상이 된 DOM과 데이터가 중복하는 요소, 갱신하는 대상(.selectAll()그대로).attr등으로 변경한다
  2. exit: 대상이 된 DOM과 일치하는 데이터가 없는 대상은 .exit()으로 추출해서 처리(예를 들어.remove()로 삭제하는 등)한다
  3. enter: 대응하는 DOM이 없는 데이터는 아마 D3를 이용하면서 가장 이용빈도가 높다.enter()로 추출하여 DOM을 추가, 처리한다.