问了很久没人回答,只好向思归等高手请教:两个svg文件用javascript合并的问题?
我在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);