2013-03-28 36 views
0

我使用modernizr来检测何时svg不支持,并且工作正常,但由于某种原因,这个jQuery不工作。试图切换src <img />当不支持svg

我想用一个svg的id替换一个特定的src,以便它的值指向一个.png文件。这将发生在检查svg是否被支持的if语句中。

但是,if语句正在工作,因为我在里面放了一个警报,并且解雇了,但这个jQuery似乎没有工作。

有谁知道为什么?

$("#svg").attr("src","img/logo.png"); 

我正在使用jQuery 1.9.0。

这里是所有的JS我在这个网站:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> 
<script type="text/javascript">window.jQuery || document.write('<script src="js/vendor/jquery-1.9.0.min.js"><\/script>')</script> 
<script type="text/javascript" src="js/modernizr.js"></script> 
<script type="text/javascript"> 
if(!(Modernizr.svg)){ 
    $("#svg").attr("src","img/logo.png"); 
} 
</script> 
+2

确定条件检查时存在'#svg'吗? –

+1

'$(“#svg”)。attr(“src”,“img/logo.png”);'这看起来非常有效.. 你能再看一些代码吗 –

+0

@MohammadAdil我编辑了所有码。 – IMUXIxD

回答

3

无论是</body>之前,你的代码移到或包装在$(function() {})

$(function() { 
    if (!Modernizr.svg) { 
     $("#svg").attr('src', 'img/logo.png'); 
    } 
}); 

这将确保#svg首次加载。

0

由于jQuery是不适合你这个工作可能是问题

包括jQuery的正确像这样的(缺少http:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> 

正如Expolosion丸说

敷在$(function() {}):