Подтвердить что ты не робот

Правильный способ узнать, поймал ли мой выбор какие-либо существующие элементы

Я делаю переключатель в 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.

4b9b3361

Ответ 1

Используйте selection.empty(). Кроме того, если выбор пуст, нет необходимости его удалять.

Ответ 2

Я настоятельно рекомендую вам прочитать документ Майка Бостока D3 Workshop. В нем он рассказывает о том, как выбор возвращает массив элементов, соответствующих критериям выбора. Поэтому, если длина массива больше, чем "0", вы правильно подобрали и выбрали.

Вы также можете прочитать свою документацию на "" Вложенные варианты". Я нашел его довольно полезным.

Надеюсь, это поможет.

Франк