如何使用条件Jquery编写更改图像源的最佳方法

时间:2014-07-01 05:49:21

标签: javascript jquery html

Sub.html:

<div>

<img src ="worlds/application/images/aa.png" class="path"/>
<img src ="worlds/application/images/bb.png" class="path"/>
<img src ="worlds/application/images/cc.png" class="path"/>
<img src ="worlds/application/images/dd.png" class="path"/>
<img src ="worlds/application/images/ee.png" class="path"/>

</div>

Jquery的:

$('#main').load( "../sub.html",function(data){
                    var imgSrc = $('.path');
                    var img1 = imgSrc[0].src.split('application')[0]+"css/images/aa.png";
                    var img2 = imgSrc[1].src.split('application')[0]+"css/images/bb.png";
                    var img3 = imgSrc[2].src.split('application')[0]+"css/images/cc.png";
                    var img4 = imgSrc[3].src.split('application')[0]+"css/images/dd.png";
                    var img5 = imgSrc[4].src.split('application')[0]+"css/images/ee.png";
                if(imgSrc[0].src.indexOf('aa')>-1){
                    imgSrc[0].attr('src',img1);
                }
                });

有没有最好的方法来改变所有图像的路径。我累了的是我将路径拆分到应用程序节点,因为我需要在应用程序级别附加我的新URL。

2 个答案:

答案 0 :(得分:2)

这是做你所做的另一种方式。在此代码中,您可以拥有所需数量的图像,只需将path作为css类即可。

$('#main').load( "../sub.html",function(data){
  var newPath = 'http://localhost:8080/Content/css/images/';
  $.each($('.path'), function(index){
  var originalSource = $(this).attr('src');

  // Replacing the source
  var newSource = newPath + originalSource.substr(originalSource.lastIndexOf('/') + 1);

  // Setting the new value of src
  $(this).attr('src', newSource);
});
});

您可以在此处查看一个有效的示例:http://jsfiddle.net/7zs7N/

希望它有所帮助!

答案 1 :(得分:1)

尝试喜欢

$(".class > img").each(function() {
   var src = $(this).attr('src');           
   $(this).attr('src', 'newsrc');           
});
相关问题