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

D3.js проверьте, имеет ли класс node класс

Я пытаюсь написать функцию щелчка, чтобы выбрать следующий g.slice node, добавить к нему класс .sliceActive и удалить .sliceActive из исходного .slice. Однако, только когда вы находитесь в последнем g.slice(с классом .slice5), вы должны добавить .sliceActive к первой g.slice с классом .slice0

это то, что у меня до сих пор, что не работает. Я думаю, проблема в том, что я не знаю, как увидеть, имеет ли текущий .sliceActive node класс .slice5

        $(".next").click(function(){
            var nextSlice;
            if(d3.select("g.sliceActive").hasClass("slice5")){
                nextSlice= d3.select(".slice0");
            }else{
                nextSlice= d3.select("g.sliceActive + g");
            }               
            d3.select("g.sliceActive").classed("sliceActive",false);
            nextSlice.classed("sliceActive",true);
        });

И вот как это выглядит в веб-инспекторе: enter image description here

4b9b3361

Ответ 1

Функция

d3 classed без второго параметра вернет, имеет ли выделенный элемент прошедший класс.

d3.select("g.sliceActive").classed("slice5")

Расскажите, что вам нужно знать.