Jquery plugins attribute^=value无法在jQuery svg插件加载的svg上运行

Jquery plugins attribute^=value无法在jQuery svg插件加载的svg上运行,jquery-plugins,Jquery Plugins,最新版本: 我发现问题是歌剧!它可以在firefox中工作!但我需要opera来使用它,它有什么解决方案吗?PS:等待jquery或opera的取消注释版本 我想问为什么$((g[id^=trans])不能工作,但是$((g))可以工作?如何修复它? jQuery SVG插件的加载方法必须在Apache这样的服务器下工作。(我不知道为什么?但如果不是在Apache下,它将无法工作) javascript <html><head><script type="text/

最新版本:
我发现问题是歌剧!它可以在firefox中工作!但我需要opera来使用它,它有什么解决方案吗?PS:等待jquery或opera的取消注释版本

我想问为什么$((g[id^=trans])不能工作,但是$((g))可以工作?如何修复它? jQuery SVG插件的加载方法必须在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>`

$(文档).ready(函数(){
$(“#svgload”).svg();
var svg=$('#svgload').svg('get');
$('#loadsvg')。单击(函数(){
load('red.svg',{onLoad:loadDone});
});函数loadDone(svg,错误){
text(10,20,错误| |'加载到'+this.id中);
}
$(“#转换”)。单击(函数(){
//警报($((“g”).attr(“转换”);
警报(“before=“+svg.toSVG());
$($g[id^=trans]”。attr(“transform”,“translate(20,5)”);//这不能工作!如何修复它?
//$((“g”).attr(“transform”,“translate(20,5)”;//这可以工作!
警报(“after=“+svg.toSVG());
});
});
加载SVG
转化`
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>

您的jQuery选择器错误-请尝试:

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

请注意,属性值上的引号是必需的(http://api.jquery.com/attribute-starts-with-selector/)

我已经试过了,但还是不行$('g[id^=“trans”])$('g[id^=trans])$('g[id^=“trans”])都试过了!是jquery SVG插件..我发现问题是opera!它可以在firefox中工作!但我需要opera来使用它,它有什么解决方案吗?PS:等待jquery或opera的取消注释版本?