2015-12-04 2 views
2

Есть ли способ изменить цвет узла или ссылки напрямую, а не итерации на всех узлах или ссылках.Изменение цвета одного узла в d3

Я знаю идентификатор узла или ссылки.

node.select("circle").style("fill", function (o) { 
     if(o.id == source || o.id == target) { 
      return PATH_COLOR; 
     } 
     return d3.select(this).style("fill"); 
    }); 
+0

Вы проверили ответы? Удивительно, что оба ответа не сработали для вас. Просто хотелось узнать, почему это не сработало. Не могли бы вы добавить в свой код возможные значения 'source' и' target'? – Gilsha

+0

Исходным и целевым будет идентификатор, если узлы d3. Один из ответов должен работать для меня. Я буду тестировать его и обновлять. Я не оценил эти ответы так :( – Prakash

ответ

0

Если вы знаете идентификатор элемента svg, вы можете напрямую применить к нему любой css. Скажем, у вас есть circle с идентификатором «one»

<circle id="one" cx="10" cy="20" r="10"></circle> 

Тогда вы можете просто сделать это,

d3.select('#one').style('fill','red'); 
3

Примените стили, как показано ниже. Новый цвет заливки будет применяться только для узлов с идентификатором source и id target.

d3.select("#"+source).style("fill", PATH_COLOR); 
d3.select("#"+target).style("fill", PATH_COLOR); 
Смежные вопросы