2013-03-28 60 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() {}):