无法访问svg路径属性

时间:2012-12-03 02:50:55

标签: javascript html5 svg

我正在使用html5,js& CSS3。

我有以下代码:

HTML

<object id="bottom" data="img/model/skirt.svg"
title="bottom" type="image/svg+xml" width="325"
height="500"> </object>

JS

var b = document.getElementById("bottom");
b = b.getSVGDocument().getElementById("here");
alert(b);

,它给了我“对象SVGPathElement”。

但是当我尝试访问fill属性时,我收到一条“未定义”消息。 例如alert(b.fill);

fill属性肯定是在svg文件中设置的。我显然错过了一些东西。任何指针都赞赏。

1 个答案:

答案 0 :(得分:4)

您必须使用svgEl.setAttribute(name, value)svgEl.getAttribute(name)访问SVG媒体资源。

没有用于访问HTMLElement等属性的快捷方式。

但如果你真的想要,可以延长SVGElement.prototype

Object.defineProperties(SVGElement.prototype, {
  fill: {
    get: function() {
      return this.getAttribute('fill');
    },
    set: function(value) {
      return this.setAttribute('fill', value);
    }
  }
});