首先,jquery是 *** 作普通xhtml的,对应svg这种特殊的标签,或者说xml,浏览器如何区分,当然是通过命名空间:namespaceURI,比如普通html的是http://www.w3.org/1999/xhtml,而svg也有自己的命名空间:http://www.w3.org/2000/svg,jquery在 *** 作的时候没有加以区分,因此导致了这样的错误。怎么办,使用setAttributeNS创建svg标签即可。
其次,我们创建大量标签的时候,喜欢innerHTML=template这种方式,svg也可以,应该说大部分浏览器都可以,可是有些浏览器不可以,我们就需要自己提供兼容的innerSVG方法了。
最后,关于上面说的二点,你都可以对比这个例子。
首先1处改成node=svgdoc.createElementNS('http://www.w3.org/2000/svg', 'rect')是必须的,这样才能创建一个svgRect元素。其次,IE8不支持svg。IE9以上在运行这个文件的时候会屏蔽动态内容,在页面下方会有提示,点击允许就行了。火狐和chrome可以直接运行这个文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)