2011-10-21 42 views
3

我想用Javascript动态创建SVG矢量,我遇到了一些问题。Javascript和SVG

我使用document.createElement在javascript中创建svg标记并将其附加到div容器。然后我做同样的事情,创建一个rect并将其作为孩子添加到svg ID。

当我看着DOM中,我可以看到添加的元素,它们的属性是这样:

<svg id="gdc_container" xmlns="http://www.w3.org/2000/svg" version="1.1" width="500" height="300"> 
    <rect id="gdc_background" width="500" height="300" style="rgb(0,0,255)"></rect> 
</svg> 

一切看起来正常,但是图形没有显示出来。当我使用Chromes检查器时,我可以看到svg和rect元素,但chrome工具提示显示其大小为[0 x 0]。

任何人有任何想法?

+1

你试过用'createElementNS'吗? (https://developer.mozilla.org/en/DOM/document.createElementNS),有些例子请看http://www.kevlindev.com/tutorials/basics/shapes/js_dom/index.htm。 – Prusse

+0

写下这个答案,你有复选标记!谢谢 – grep

回答

4

您是否尝试过使用createElementNS? (developer.mozilla.org/en/DOM/document.createElementNS

有关示例,请参阅http://www.kevlindev.com/tutorials/basics/shapes/js_dom/index.htm

+0

尝试使用形状的例子之一。我将代码块插入到window.onload中,并且没有出现任何形状。 – MiddleKay

+0

你使用什么浏览器?你能创建一个小提琴来展示这个问题吗? http://jsfiddle.net/ – Prusse

+0

在谷歌浏览器中试过这个http://jsfiddle.net/w9gEx/ – MiddleKay