动态创建svg要注意的地方

1480阅读 0评论2015-11-28 810
分类:JavaScript

下面是一个动态创建svg例子的一个片断
  1. var svg = document.createElement('svg');
  2. var polygon = document.createElement( 'polygon');
  3. polygon.setAttribute('points', '100,10 40,180 190,60 10,60 160,180');
  4. polygon.setAttribute('style', 'fill:red;stroke:blue;stroke-width:3;fill-rule:evenodd;');
  5. svg.appendChild(polygon);
悲剧的是,浏览器并不买账,它竟然不显示。原因出在哪里呢?动态创建html并没有这个问题啊。
实际上改成下面这个样子就可以了

点击(此处)折叠或打开

  1. var svg = document.createElementNS(‘http://', svg');
  2. var polygon = document.createElementNS(’http://', polygon');
  3. polygon.setAttribute('points', '100,10 40,180 190,60 10,60 160,180');
  4. polygon.setAttribute('style', 'fill:red;stroke:blue;stroke-width:3;fill-rule:evenodd;');
  5. svg.appendChild(polygon);
就是在创建的时候,使用createElementNS,而不是createElement,还真是有点啰嗦。
上一篇:ubuntu 14.04 检查磁盘时发生严重错误的解决方法
下一篇:X86 PC的内存布局