Javascript 在codepen中创建svg元素

Javascript 在codepen中创建svg元素,javascript,jquery,css,d3.js,svg,Javascript,Jquery,Css,D3.js,Svg,我尝试在代码笔中使用d3.js创建svg元素,使用下面的代码spinet,但它对我不起作用,因为高度和宽度按预期应用于元素 var svg = d3.select("body").append("svg").attr({ width:800, height:800 }); 不管怎样,下面的代码起作用了: var svg = d3.select("main") .append("svg") .attr("width", w) .attr("height",

我尝试在代码笔中使用d3.js创建svg元素,使用下面的代码spinet,但它对我不起作用,因为高度和宽度按预期应用于元素

var svg = d3.select("body").append("svg").attr({
   width:800,
   height:800
}); 
不管怎样,下面的代码起作用了:

var svg = d3.select("main")
    .append("svg")
    .attr("width", w)
    .attr("height", h);

有人能帮我解释为什么第一个代码spinet在codepen中不工作,而在本地文件中工作正常吗?

d3的哪个版本?如果您使用的是d3 v4.x,您的问题与此重复:。这个代码更类似于您的代码:当我像您在第二个代码块中那样设置宽度和高度属性时,您的第一个代码块对我来说工作得很好。