在图像的src中添加jQuery变量不起作用

时间:2016-03-02 09:59:18

标签: javascript jquery html image tags

我有一个网站,基于语言en, sq or el,我想更改图片来源。所以我有一个名为screenshots的文件夹,然后有三个文件夹:en, sq and el

例如,名为' slide-phone.png'的图片的网址是:

static/img/screenshots/en/slide-phone.png
static/img/screenshots/sq/slide-phone.png
static/img/screenshots/el/slide-phone.png

我想获取HTML标记的属性lang,然后将其添加到图像的来源,但由于某些原因,它无法正常工作。

我的代码如下所示:

<html lang="{{ _('en') }}">
<script type="text/javascript">
 $(document).ready(function(e){
       var language = $('html').attr('lang');
});
</script>
...
 <img  id="slide-phone-1-img" src="{{ url_for('static', filename='img/screenshots/' + language+'slide-phone.png') }}" >

我正在使用python和jinja。任何帮助:)

编辑:

我也尝试过这样但问题是我想使用jinja,为此我需要更改此代码:

<html lang="{{ _('en') }}">
    <script type="text/javascript">
     $(document).ready(function(e){
           var language = $('html').attr('lang')
           img_url = 'img/screenshots/'+ language+'/slide-phone.png';
           $('#slide-phone-img').attr('src',img_url);
    });
    </script>

1 个答案:

答案 0 :(得分:1)

类似这样的事情

$(document).ready(function(e){
       var language = $('html').attr('lang');
       var new_url = $('#slide-phone-1-img').attr("src").replace("language", language);
       console.log(new_url);
       $('#slide-phone-1-img').remove();
       $('#imges').prepend('<img id="slide-phone-1-img" src="'+new_url+'" />');

$('#show').html( $('#slide-phone-1-img').attr("src").replace("language", language));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html lang="{{ _('en') }}">
   <body>
    <div id="imges">
     <img  id="slide-phone-1-img" src="{{ url_for('static', filename='img/screenshots/language slide-phone.png') }}" > 
    </div>   
    <div id="show">
      <p></p>
    </div>
   </body>
</html>