我在javascript中更改img图片src,但img不刷新,如何刷新?

时间:2012-10-17 16:35:14

标签: javascript jquery refresh image

我在javascript中改变了img src:

http://loclhost:8080/mvc/resources/pics/625bd317-b71c-4d74-aff2-248b86ff900b.jpg

http://loclhost:8080/mvc/resources/pics/4c1541ab-204c-4eff-b641-8527294e02cd.jpg

我的代码是:

 function selectdef(pic){
     var picid=pic.split('.')[0];
       $.ajax({    
            type:'post',        
            url:'defaultset/<c:out value="${pbid}"/>/'+picid,    
            data: {picid   : pic},    
            cache:false,    

            success:function(data){
                            //when ajax require success I will change the picture src
                $(".products li img").src='<c:out value="${path}/"/>'+pic;

            },
            error: function(e){
               alert(e.massage());
               }   
        });

     }

我的更改src行是:

 $(".products li img").src='<c:out value="${path}/"/>'+pic; 

但是图片不会改变

但是img不刷新,只有我重新加载页面才能刷新?为什么?我认为src与img不同应该刷新吗?

如何刷新它?

2 个答案:

答案 0 :(得分:1)

由于您使用jQuery更改图像的src属性,因此可以通过attr方法执行此操作:

$(".products li img").attr('src', '<c:out value="${path}/"/>' + pic);

如果您想使用原生src属性,则需要在使用src属性之前先访问DOM元素:

$(".products li img")[0].src = '<c:out value="${path}/"/>' + pic;

我的建议是使用jQuery attr方法。

答案 1 :(得分:0)

这是我的错:我以错误的方式使用jquery:

$(".products li img").src='<c:out value="${path}/"/>'+pic; 

正确使用应该是:

$('.productdefault li img').prop("src", '<c:out value="${path}/"/>'+pic);

jDom不能简单地使用DOM员工。