2011-11-04 46 views
0

最新: 我發現問題是歌劇!它可以在Firefox中工作!但是我需要opera來使用它,它是否有任何解決方案? PS:等待jquery或opera的未知版本?屬性^ =值不能通過jQuery SVG插件加載的svg上的woking

我要問爲什麼$( 「G [ID^=反]」)無法正常工作,但是$( 「G」)可以?如何解決? 的jQuery插件SVG的Load方法,必須在服務器下工作,比如Apache(我不知道爲什麼,但在Apache下也不會,如果不行?) 的JavaScript

<html><head><script type="text/javascript" src="http://code.jquery.com/jquery.js"> 
</script><script type="text/javascript" src="http://keith-wood.name/js/jquery.svg.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
$("#svgload").svg(); 
var svg = $('#svgload').svg('get'); 
$('#loadsvg').click(function() { 
svg.load('red.svg',{onLoad:loadDone}); 
});function loadDone(svg, error) { 
svg.text(10, 20, error || 'Loaded into ' + this.id); 
} 
$('#transform').click(function(){ 

//alert($("g").attr("transform")); 
alert("before="+svg.toSVG()); 

$("g[id^=trans]").attr("transform","translate(20,5)");//this cannot work!How to fix it? 
//$("g").attr("transform","translate(20,5)");//this can work! 
alert("after="+svg.toSVG()); 
}); 

});</script></head><body> 
<div id="svgload" width="200px" height="200px" > 
</div> 
<button id="loadsvg" type="button">loadsvg</button> 
<button id="transform" type="button">transform</button></body></html>` 

的SVG:

<svg version="1.1" xmlns="http://www.w3.org/2000/svg"> 
<g id="trans001"> 
<rect x="35" y="50" width="20" height="20" fill="#F3D70A" stroke-width="4"/> 
<line x1="20" y1="40" x2="80" y2="40" stroke-width="5"/> 
<circle cx="20" cy="60" r="10" fill="red" stroke="blue" stroke-width="5"/></g> 
<g id="trans002"><rect width="35" height="20" x="20" y="90" fill="blue"> 
</rect></g> 
</svg> 
+0

http://keith-wood.name/svg.html是jQuery的SVG插件.. –

+0

我覺得這個問題是歌劇!它可以在Firefox中工作!但是我需要opera來使用它,它是否有任何解決方案? PS:等待jquery或opera的未知版本? –

回答

0

你的jQuery選擇是錯誤的 - 嘗試:

$('g[id^="trans"]').attr("transform","translate(20,5)"); 

注意,在屬性值的引號是強制(http://api.jquery.com/attribu TE-開始與 - 選擇/)

+0

我已經試過了,但它仍然無法工作! $( 'G [ID^= 「反式」]')$( 'G [ID^=反')$( 「G [ID^= '轉']」)都試圖! –