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

时间:2012-07-24 15:19:03

标签: javascript jquery internet-explorer stack-overflow

我想在以下示例中使用js将大拇指替换为

发件人:

<ul id="slide">
<li><img src="pathtoimg/thumbs/imagename.jpg" /></li>
<li><img src="pathtoimg/thumbs/imagename2.jpg" /></li>
</ul>

收件人:

<ul id="slide">
<li><img src="pathtoimg/large/imagename.jpg" /></li>
<li><img src="pathtoimg/large/imagename2.jpg" /></li>
</ul>

为了实现它,我使用了以下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;
}
  });       

上述代码在现代浏览器中运行良好,但Internet Explorer 7&amp; 8返回堆栈溢出在第0行错误。是否还有其他方法可以替换列表中的img的src而不会出现上述错误?

提前致谢。

2 个答案:

答案 0 :(得分: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/'));
    }); 

});

答案 1 :(得分:1)

试试这个

$(window).load(function(){
$("#slide li img").each(function(){
$(this).attr("src",$(this).attr("src").replace("thumbs","large"));
});
});