0
我有一個嵌入式SVG,使用js更改20種路徑填充顏色,全部具有相同的類。firefox js getSVGDocument()。getElementsByClassName('myClass')破?
<script>
function svgMod(){
//var links = document.getElementById("tornado5").getSVGDocument().
// getElementsByClassName('SVGlogo');
var links = document.getElementById("tornado5").contentDocument.
getElementsByClassName('SVGlogo');
for (var i=0;i<links.length;i++) { links[i].style.fill="00ff00"; }
}
</script>
<object type="image/svg+xml" id="tornado5" data="bitmaps/frames/tornado2.svg">
</object> <!-- cant use img -->
<button onclick="svgMod();" >Click to change</button>
它適用於Chrome,但不適用於Firefox。我試過contentDocument和getSVGDocument(),但沒有幫助。 links.length是20,即使在Firefox中,所以問題似乎在鏈接[i] .style.fill
任何想法?
這個webkit bug本應在3月份修復。 https://bugs.webkit.org/show_bug.cgi?id=46112我不知道修復漏洞需要多長時間才能加入Chrome,但我很驚訝,因爲他們的快速發佈時間表無效顏色仍然可以接受。 –
正如Tanzeel Kazi所說,問題在於你的「fill」值是無效的CSS。有效的值是'#00ff00'。 –