Как я могу назначить идентификаторы для SVG элементов?(в барах Raphaeljs) - PullRequest
4 голосов
/ 15 декабря 2011

Как я могу назначить идентификаторы барам Raphaeljs в g.raphael barchart и как получить к ним доступ после

var r = Raphael("holder", 600, 500);
var data=[1,3,4,5];
var chart = r.g.barchart(30, 30, 350, 250, [data], {stacked: true, type: "soft"});
for (var i = 0; i < chart.bars[0].length; i++) {
      var bar = chart.bars[0][i];
      if (bar.value >= 7) {
                bar.attr("fill", "#bf2f2f");
                bar.attr("stroke", "#bf2f2f");
                bar.attr("id","id-"+i);   //this doesn't work
                bar.id="id-"+i;           //this also doesn't work
                //applied as per raphaeljs documentatoion 
                //[http://raphaeljs.com/reference.html#Element.id][1]
                   }
        }

Ответы [ 2 ]

5 голосов
/ 15 декабря 2011

Попробуйте

bar[0].id = "id-"+i;
//or
bar.node.id = "id-"+i;

bar - это элемент Рафаэля.Его атрибуты [0] и node указывают на фактический элемент DOM .

1 голос
/ 15 декабря 2011

Вы можете попробовать это

bar.data("id" : +i)

Подробнее здесь: http://raphaeljs.com/reference.html#Element.data

...