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

标签 javascript jquery html

子.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);
                }
                });

有没有最好的方法来更改所有图像的路径。我厌倦的是我将路径分割到应用程序节点,因为我需要在应用程序级别附加我的新网址。

最佳答案

这是做你已经做的事情的另一种方式。在此代码中,您可以拥有任意数量的图像,您只需将它们与 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/

希望对你有帮助!

关于javascript - 如何编写使用Jquery条件更改图像源的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24503241/

相关文章:

javascript - gmaps4rails v2 fitMapToBounds()

JQuery悬停多个元素一个功能

javascript - 第二次点击时克拉不旋转

javascript - Angularjs单选按钮组,表单有效,无需任何选择

javascript - 使用较少的默认样式元素获取输入事件功能

javascript - 实现 javascript 倒计时时,其他 html 元素消失

javascript - 名字和姓氏的正则表达式

javascript - 获取动态表单值

javascript - Chai-as-promised - 带有promise的expect总是转变成一个空对象

javascript - jquery 函数适用于 live,不适用于 on