Javascript d3-未捕获类型错误:无法调用方法';属性';空的

Javascript d3-未捕获类型错误:无法调用方法';属性';空的,javascript,svg,d3.js,Javascript,Svg,D3.js,这是我的密码: var svg = d3.select("body").append("svg"); console.log(svg.attr); svg.attr("width", width + margin.left + margin.right); svg.attr("height", height + margin.top + margin.bottom); svg.append("g"); svg.attr("transform", "translate(" + margin.lef

这是我的密码:

var svg = d3.select("body").append("svg");
console.log(svg.attr);
svg.attr("width", width + margin.left + margin.right);
svg.attr("height", height + margin.top + margin.bottom);
svg.append("g");
svg.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
console.log(svg)输出:

有人能解释一下吗?显然svg不是空的,因为我在尝试使用它之前在控制台中登录它


当您遇到此错误时,您正在调用什么代码?您是否可以查看一些堆栈输出,以准确了解何时调用此rogue.attr()?它可以从svg.attr(…)函数本身的某个地方调用。
function (t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node();return t=ja.ns.qualify(t),t.local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}for(e in t)this.each(xe(e,t[e]));return this}return this.each(xe(t,e))} 
Uncaught TypeError: Cannot call method 'attr' of null