如何动态地向HTML5 SVG添加元素
How to dynamically add an element to HTML5 SVG?
我读过一些类似的问题,但我不能让我的代码正常工作。我想在用户单击SVG区域时添加一个SVG元素。
这是我的HTML5与SVG,它呈现正确:
<!DOCTYPE html>
<html>
<head>
<script src="jquery-1.6.2.min.js"></script>
<script src="svgdraw.js"></script>
</head>
<body>
<svg id="canvas" width="500" height="500">
<circle cx="80" cy="80" r="50" fill="blue"/>
</svg>
</body>
</html>
下面是在click事件中执行的JavaScript:
var svgDocument = document.getElementById('canvas');
var svgns = "http://www.w3.org/2000/svg";
var shape = svgDocument.createElementNS(svgns,"circle");
shape.setAttributeNS(null, "cx", 25);
shape.setAttributeNS(null, "cy", 25);
shape.setAttributeNS(null, "r", 20);
shape.setAttributeNS(null, "fill", "green");
document.getElementById('canvas').appendChild(shape);
在谷歌浏览器我得到一个错误消息,createElementNS
不存在。但我不能让它工作,如果我删除所有的NS
和null
。正确的做法是什么?对于不同的浏览器是不同的吗?
就我所知createElementNS()
是document
-变量的一部分,尝试:
var shape = document.createElementNS(svgns,"circle");
相关文章:
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 如何使用javascript从主svg对象动态创建svg视图框
- Html5-使用SVG路径绘制的组织层次结构在左手边被剪裁
- Firefox使用drawImage将SVG图像渲染到HTML5画布时出错
- 为HTML5画布生成SVG
- 将 SVG 嵌入到 HTML5 SVG 中而不进行光栅化
- 我如何使用一个svg文件与许多单独的svg's在html5中
- 如何在HTML5中读取内联SVG中的自定义名称空间节点
- 鼠标事件与d3.js和HTML5画布(不是SVG)
- 在HTML5/CSS3/Javascript应用程序中使用SVG图像的首选方式是什么?
- 在HTML5/JS中改变SVG圆圈的属性
- HTML5 SVG:计算动态创建的SVG内容的文本大小
- 如何动态地向HTML5 SVG添加元素
- 如何从html5中的js文件动态添加Svg图像
- 带过滤器的SVG到HTML5画布实现
- 可以使用javascript将两个SVG文件混合在一起,从而生成HTML/HTML5
- HTML5 SVG和鼠标事件