从js编写时忽略SVG视图

hen*_*lle 3 svg d3.js

我正在使用使用视图框的d3.js创建一个SVG.

从JS,所看到的视框中被忽略这里.但是,如果我参加由JS生成的代码,并把它作为HTML,它使得使用视框,如图这里.

为什么在js中定义时忽略视图框,但在html中定义时却没有?

代码如下

var svg = d3.select('body')
.append('svg')
  .attr("height", 400)
  .attr("width", 400)
  .attr("viewbox",'0,0,100,100')
  .attr('style','border: 1px solid black')
.append('rect')
  .attr('x',0)
  .attr('y',0)
  .attr('width',100)
  .attr('height',100)
  .attr('fill','red');
Run Code Online (Sandbox Code Playgroud)

小智 15

SVG中的属性区分大小写.多字属性在camelCase中定义:

.attr("viewBox",'0,0,100,100')
Run Code Online (Sandbox Code Playgroud)

更多信息可以在W3C规范中找到