Javascript D3.js追加错误位置

Javascript D3.js追加错误位置,javascript,d3.js,svg,Javascript,D3.js,Svg,以下是我的DOM结构的简化版本: <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000

以下是我的DOM结构的简化版本:

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   version="1.1"
   id=""
   viewBox="0 0 745 471">
  <defs
     id="defs3367" />
  <g
     style="display:inline"
     transform="translate(0,-520.8662)"
     id="items">
    <rect
       ry="0"
       rx="0"
       y="812.9881"
       x="5.7393227"
       height="42.501518"
       width="733.25098"
       id="rect3410">
   </g>
</svg>
我的数据是由6个对象组成的数组

问题是,此代码将5
附加到
svg
,而不是
的子级。 此外,数据中的第一项根本没有附加


任何建议都将不胜感激

d3
附加到正在调用append的选定对象(在本例中是您的
svg
标记)

要附加到目标
g
中,请执行以下操作:

svgBlock.select("g#items") //<-- appending to this g
  .selectAll("g") //<-- a selector that matches WHAT you want append
  .data(data)
  .enter()
  .append("g");

svgBlock.select(“g#items”)//太棒了!D3.js选择器让我很困惑。我将阅读更多关于他们的信息。
svgBlock.select("g#items") //<-- appending to this g
  .selectAll("g") //<-- a selector that matches WHAT you want append
  .data(data)
  .enter()
  .append("g");