0

在 Snap.svg 中,我加载了一个外部 SVG 文件,在将其附加到文档后,我必须更改它的一些属性和内容。我想设置作为 Fragment 根元素的元素的xand属性。返回 null 并且下面的代码仍然不起作用。ydd.select("svg")

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

更新: s是 Paper 实例。

4

2 回答 2

1

我不认为你可以用片段来做到这一点。我认为您需要使用 select 来获取元素,一个示例(没有 svg 文件无法测试)..

Snap.load("but1.svg", function (d) {
    s.append(d);
    var el = s.select("#myElement");
    el.attr({
        x: "50",
        y: "50"
    });
});
于 2014-04-28T20:27:08.797 回答
1

要以 Ian 的回答为基础,您可以简单地从片段中选择 svg 元素,fragment.select('svg')因此结果模式将是:

Snap.load('myGraphic.svg', function (fragment) {
    var element = fragment.select('svg');
    paper.add(element);
    element.attr({
        x: "50",
        y: "50"
    });
});
于 2015-01-24T16:46:01.080 回答