如何使用javascript(jquery)替换列表中的src图像?

Kul*_*ary 2 javascript stack-overflow jquery internet-explorer

我想在下面的示例中使用js 将thumb替换为large

从:

<ul id="slide">
<li><img src="pathtoimg/thumbs/imagename.jpg" /></li>
<li><img src="pathtoimg/thumbs/imagename2.jpg" /></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

至 :

<ul id="slide">
<li><img src="pathtoimg/large/imagename.jpg" /></li>
<li><img src="pathtoimg/large/imagename2.jpg" /></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

为了实现它,我使用了以下js代码

 $(window).load(function(){
 var images = $("#slide li img");
 for(var i = 0; i < images.length; i++)
{
var img = images[i];
var src = img.src.replace("thumbs","large");
img.src = src;
}
  });       
Run Code Online (Sandbox Code Playgroud)

上面的代码在现代浏览器中工作正常,但Internet Explorer 7和8 在第0行返回堆栈溢出错误.是否有任何其他方法来替换列表中的img的src而不会出现上面的错误?

提前致谢.

Sil*_*ian 5

试试吧

$(document).ready(function(){

    $("#slide > li > img").each(function(){ 
        var t = $(this);
        var src = t.attr('src');
        if(!src || typeof(src)!=='string') return;
        t.attr('src',src.replace('/thumbs/','/large/'));
    }); 

});
Run Code Online (Sandbox Code Playgroud)