2011-06-07 54 views
0

我正在测试img的src属性是否匹配某个字符串。当它发生时,我希望它改变src属性并使图像重新加载。重新加载匹配图像

到目前为止,我已经试过,但它不工作:

$('img').error(function(){ 
    if($(this).attr('src') == 'some_img_url.jpg'){ 
     $(this).attr('src', 'site_media/banner.jpg?_=' + Math.random()); 
    } 
}); 

知道为什么这是不工作?

编辑:

这是一个URL的问题,就像函数naveed说,现在的工作,我使用jQuery 1.5.1

+1

检查新图像的路径。它看起来不正确的道路。 – NAVEED 2011-06-07 05:50:09

+0

什么版本的jQuery? 1.6版本最近改变了'attr'方法的工作方式。 – 2011-06-07 05:51:51

回答

0

如果元素未正确放置http://api.jquery.com/error/所以这个error函数被调用如果没有发生错误,函数将不会被调用。将警报置于你的函数中,并检查它是否被调用。

0

它没有被调用,因为在浏览器抛出错误事件之前,错误事件不会被连接到处理函数。 http://api.jquery.com/error/ - 看看这个例子以及他们用jQuery加载img src的原因。