2013-03-28 3 views
0

Я использую modernizr для обнаружения, когда svg не поддерживается, и это работает нормально, но по какой-то причине этот jQuery не работает.Пытается переключить src <img />, когда svg не поддерживается

Я пытаюсь заменить src конкретного идентификатором svg так, чтобы его значение указывало на .png-файл. Это произойдет внутри оператора if, который проверяет, не поддерживается ли svg.

Однако оператор 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 не работает для вас это может быть проблема

INCLUDE JQuery правильно, как это (отсутствует http:)

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

И как Expolosion таблетки сказал

завернуть его в $(function() {}):

Смежные вопросы