1
让我们考虑我有一个circle
和ss
Raphael Set
一个rectangle
:如何更改Raphael 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()
,但没有结果。
任何想法我怎么能做到这一点。谢谢
为什么不只是'c.attr({fill:'white'})'?有没有理由不能直接访问'c'? – wwww
因为我需要获取已经创建的ss集并且使用它从某些事件处理程序进行一些更改。 c对我来说是不可见的,我只有这一套。 – Brian
我发现我可以使用set.forEach(),但不知道如何实现使用它。 – Brian