我正在使用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文件中设置的。我显然错过了一些东西。任何指针都赞赏。
答案 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);
}
}
});