d3 chaining append(“x”)。attr(“...”)。append(“y”.attr(“...”)不一致

时间:2015-04-09 13:55:26

标签: javascript d3.js

为什么这样做

var defs = svg.append("defs")
    .append("marker")
    .attr({
        "id": "markerArrow",
        "markerWidth": 10,
        "markerHeight": 10,
        "orient": "auto"        
    })
    .append("path")
    .attr({
        "d": "M10,10 L20,20"
    })

但这不起作用

var node = svg.selectAll(".node")
    .data(nodes)
    .enter()
    .append("g")
    .classed("node", true)
    .call(force.drag)
    .append("circle")
    .attr("r", 10)

仅在写为

时才有效
var node = svg.selectAll(".node")
    .data(nodes)
    .enter()
    .append("g")
    .classed("node", true)
    .call(force.drag)

node
    .append("circle")
    .attr("r", 10)

当然,代码最后一位的.append(" circle")之前的节点只是占位符引用它上面的代码行?那么它的功能有何不同?

0 个答案:

没有答案