两个svg文件用javascript合并的问题?

zhuyaowei 2004-12-22 08:00:14
我在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);

...全文
318 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxz7531 2005-01-20
  • 打赏
  • 举报
回复
我碰到类似的问题,我是希望在svg图形显示出来后,从数据库取出另一个svg文档,用它取代老的svg文档
zhuyaowei 2004-12-23
  • 打赏
  • 举报
回复
当然对象都不是空的,可以取得属性的。救命啊
lazyfish 2004-12-23
  • 打赏
  • 举报
回复
检查一下svgdocold.getElementById("box")是否为空对象

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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