我想通过使用JS创建的SVG中的路径绘制一个正方形.但是浏览器不接受这个:
使用Javascript:
var svg = document.createElement('svg'); svg.width = "200"; svg.height = "200"; document.body.appendChild(svg); var path = document.createElement('path'); path.setAttribute('d','M100,0 L200,100 100,200 0,100Z'); path.setAttribute('fill','red'); svg.appendChild(path);
HTML(输出):
Robert Longs.. 10
createElement只能用于创建html元素.要创建SVG元素,必须使用createElementNS并提供SVG名称空间作为第一个参数.
document.body.appendChild('svg'); 想要添加svg元素而不是包含文本'svg'的字符串,可能是一个拼写错误
var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
svg.setAttribute('width','200');
svg.setAttribute('height','200');
document.body.appendChild(svg);
var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
path.setAttribute('d','M100,0 L200,100 100,200 0,100Z');
path.setAttribute('fill','red');
svg.appendChild(path);
createElement只能用于创建html元素.要创建SVG元素,必须使用createElementNS并提供SVG名称空间作为第一个参数.
document.body.appendChild('svg'); 想要添加svg元素而不是包含文本'svg'的字符串,可能是一个拼写错误
var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
svg.setAttribute('width','200');
svg.setAttribute('height','200');
document.body.appendChild(svg);
var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
path.setAttribute('d','M100,0 L200,100 100,200 0,100Z');
path.setAttribute('fill','red');
svg.appendChild(path);