如何在Raphael SET中更改单个对象的属性?

时间:2013-05-28 19:14:36

标签: javascript raphael

我们认为我在 circle rectangle中有ssRaphael Set

<script type="text/javascript">

    var paper = Raphael("canvas", 500, 500),
        r     = paper.rect(100, 100, 140, 80),
        c     = paper.circle(100, 100, 80);

    c.attr({fill: 'red', stroke: 'black'});
    r.attr({fill: 'black', stroke: 'red'});

    var ss = paper.set(r, c); 

</script>

现在在程序中的某个时刻,我需要更改Circle的 fill: 'white'

我知道可以按如下方式更改Set的属性:ss.attr({fill: 'white'}),但这适用于它的所有元素。我仍然希望保持矩形的颜色不变。我尝试过 ss.c.attr() ,但没有结果。

我知道如何实现这一目标。谢谢

1 个答案:

答案 0 :(得分:1)

前一段时间我遇到了同样的问题。然后我发现你可以像在数组中一样访问SET个别对象。
对于exp。; ss[0] 会返回 r 矩形对象;即ss [0] .attr({'// here'})