Chinaunix首页 | 论坛 | 博客
  • 博客访问: 121243
  • 博文数量: 49
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -15
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-03 22:22
个人简介

小楼一夜听春雨

文章分类
文章存档

2017年(1)

2016年(2)

2015年(5)

2014年(21)

2013年(5)

2012年(7)

2010年(6)

2009年(2)

我的朋友

分类: JavaScript

2015-11-28 13:18:28

下面是一个动态创建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,还真是有点啰嗦。
阅读(1385) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~