在Firefox 中
如果通过JS创建了一段元素,在后续的方法中你会用到该元素的ID之类的东西时你会发现根本行不通的.
解决的方法就是在等你创建元素的代码执行完以后设置延时.
比如:
//
创建元素
var elem = document.createElement( " embed " );
elem.id = " Graphic " ;
elem.width = 500 ;
elem.height = 500 ;
elem.name = " svgCanvas " ;
elem.src = " canvas.svg " ;
elem.wmode = " transparent " ;
elem.type = " image/svg+xml " ;
document.body.appendChild(elem);
// 设置延时时间为100毫秒
setTimeout( " Draw() " , 100 );
在这里 " Draw() " 是要用到新创建的元素ID的方法
var elem = document.createElement( " embed " );
elem.id = " Graphic " ;
elem.width = 500 ;
elem.height = 500 ;
elem.name = " svgCanvas " ;
elem.src = " canvas.svg " ;
elem.wmode = " transparent " ;
elem.type = " image/svg+xml " ;
document.body.appendChild(elem);
// 设置延时时间为100毫秒
setTimeout( " Draw() " , 100 );
在这里 " Draw() " 是要用到新创建的元素ID的方法