使用Snap.svg </svg>选择<svg> Fragment的根

时间:2014-04-28 18:35:59

标签: javascript svg snap.svg

在Snap.svg中我加载了一个外部SVG文件,在将其附加到文档后,我必须更改它的一些属性和内容。 我想设置元素的xy属性,它是片段d的根元素。 d.select("svg")返回null,以下代码仍无法正常工作。

Snap.load("but1.svg", function (d) {
    s.append(d);
    d.attr({
        x: "50",
        y: "50"
    });
});

更新: s是Paper实例。

2 个答案:

答案 0 :(得分:1)

我认为你不能像片段那样做。我想你需要使用select来抓取元素,一个例子(没有svg文件就无法测试)..

Snap.load("but1.svg", function (d) {
    s.append(d);
    var el = s.select("#myElement");
    el.attr({
        x: "50",
        y: "50"
    });
});

答案 1 :(得分:1)

要建立在Ian的答案之上,你可以简单地用fragment.select('svg')从片段中选择svg元素。结果模式将是:

Snap.load('myGraphic.svg', function (fragment) {
    var element = fragment.select('svg');
    paper.add(element);
    element.attr({
        x: "50",
        y: "50"
    });
});