问了很久没人回答,只好向思归等高手请教:两个svg文件用javascript合并的问题?

zhuyaowei 2004-12-23 12:38:08
我在ie用svgviewer显示一个svg图形,然后想在服务器端用程序动态生成生成另外一个svg图形,并把这个图形合并到当前显示的图形中。
我现在想想把新的svg图形用cloneNode方法取出来,添加到当前的图形中,结果出现“wrong docuemnt”错误,但是把这个图形对象cloneNode添加到自己是没有问题的。
请问究竟是方法错误还什么原因?这个问题该如何解决,由于新生成的svg可能很复杂,比较难用分析xml文件然后生成的方法解决。
代码如下:
//两个对象
var svgdocnew = document.svgMapnew.getSVGDocument();
var svgdocold = document.svgMapold.getSVGDocument();
var svgObjnew ,svgObjold;
//取得需要添加的对象,如果这个是在本来的,添加就成功,如果是其他的,就会出“wrong document”错误
//程序执行正确,但是添加到自己
var box=svgdocnew.getElementById("box");
//想添加的其他的,不成功,这是两种情况
//var box=svgdocold.getElementById("box");
//取得需要添加的对象
svgObjnew = svgdocnew.getElementById("test1");
//clone这个对象
svgObjold=svgObjnew.cloneNode(true);
//测试这个对象是否为空
alert(svgObjold.getAttribute("r"));
//更改这个对象的其中一个属性
svgObjold.setAttribute("r","100");
//添加,box是自己,就不会出错,如果是另外的,就出错?怎么办?,加svgObjold,svgObjnew 都是一样的问题,郁闷
box.appendChild(svgObjold);
//box.appendChild(svgObjnew);
...全文
207 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuyaowei 2005-05-04
  • 打赏
  • 举报
回复
谢谢caiyajun512(小秀) ,我去看了一下,可惜还没有找大答案。动态用javascript生成svg的元素并加到svg是没有问题的,现在问题是动态添加另外一个svg文件,按理说可以直接解析svg,然后循环每个元素并添加,这样是没有问题的。可是太慢,而且把svg用dom解析然后再生成svg,多此一举。所以我想请教大家有没有更好的办法。
zeroyou 2005-05-04
  • 打赏
  • 举报
回复
up
caiyajun512 2005-05-03
  • 打赏
  • 举报
回复
你去看看adobe公司的svg和javascript的示例,可以的。
http://www.adobe.com/svg/indepth/faq.html
zhuyaowei 2005-01-08
  • 打赏
  • 举报
回复
up
zhuyaowei 2005-01-03
  • 打赏
  • 举报
回复
up
zyq1215 2004-12-31
  • 打赏
  • 举报
回复
新年快乐!!
boulder 2004-12-31
  • 打赏
  • 举报
回复
mark
softchao 2004-12-31
  • 打赏
  • 举报
回复
帮顶!
zhuyaowei 2004-12-30
  • 打赏
  • 举报
回复
up
pxk 2004-12-25
  • 打赏
  • 举报
回复
up
coldpanth 2004-12-25
  • 打赏
  • 举报
回复
占个位置,等老大们来。
zhuyaowei 2004-12-25
  • 打赏
  • 举报
回复
up
jxzhang615 2004-12-24
  • 打赏
  • 举报
回复
帮顶!

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧