以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 SVG/GML/VRML/X3D/XAML 』  (http://bbs.xml.org.cn/list.asp?boardid=21)
----  [求助]请问怎么调用一个定义区的svg图形的属性?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=57224)


--  作者:huangwanfu
--  发布时间:12/26/2007 6:17:00 PM

--  [求助]请问怎么调用一个定义区的svg图形的属性?
例:
其中脚本
test(evt)
{
var target=evt.getTarget();
  var thewidth=target.getAttribute("width");
  var corlor=target.getAttribute("fill");
  alert(thewidth);
  alert(corlor);
  target.setAttribute('fill','#eeeeee');
}

<svg>
<defs>
<g id="id1">
<rect x="0" y="0" width="100" height="100" fill="red"/>
</g>
</defs>
<use xlink="#id1"  fill="blue" onmouse="test(evt)"/>
<rect x="150" y="150" widht="100" height="100" fill="black" onmouse="test(evt)"/>
</svg>
可以看到直接使用rect图元时可以直接获得该正方形的fill和width属性
当使用use时只能获取到use的fill属性blue和空的width,而我们想要获取和改变的是defs中id1的fill和width属性.
应该怎么来实现
请问有什么方法?


--  作者:chenchen870
--  发布时间:12/28/2007 5:43:00 PM

--  
test(evt)
{
       var g=document.getElementById("id1");
       var rects=g.getElementsByTagName("rect');
       alert(rects.item(0).getAttribute("fill"));
  
}
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.021ms