Ответ 1
Используйте selection.empty()
. Кроме того, если выбор пуст, нет необходимости его удалять.
Я делаю переключатель в d3 и пытаюсь избежать глобальных переменных.
Я могу продолжить и выбрать элемент, как если бы он был уже на сцене:
d3.select('#awesome_line_graph')
а затем проверьте, не поймал ли я что-либо, используя
if (d3.select('#awesome_line_graph')[0].every(function(d){return d===null})){
// draw awesome line graph
} else {
d3.select('#awesome_line_graph').remove()
}
но это тестирование для нулевого элемента, возможно, для более чем одной нулевой вещи кажется ужасным и взломанным. Как мне это сделать? Извинения за незнание большого количества javascript.
Используйте selection.empty()
. Кроме того, если выбор пуст, нет необходимости его удалять.
Я настоятельно рекомендую вам прочитать документ Майка Бостока D3 Workshop. В нем он рассказывает о том, как выбор возвращает массив элементов, соответствующих критериям выбора. Поэтому, если длина массива больше, чем "0", вы правильно подобрали и выбрали.
Вы также можете прочитать свою документацию на "" Вложенные варианты". Я нашел его довольно полезным.
Надеюсь, это поможет.
Франк