我正在测试img的src属性是否与某个字符串匹配。当它发生时,我希望它改变src属性并重新加载图像。
到目前为止,我已经尝试了这个但是它无效:
$('img').error(function(){
if($(this).attr('src') == 'some_img_url.jpg'){
$(this).attr('src', 'site_media/banner.jpg?_=' + Math.random());
}
});
知道为什么这不起作用吗?
编辑:
这是一个网址问题,就像NAVEED说的那样,它现在有效,我正在使用jquery 1.5.1
答案 0 :(得分:0)
如果元素未正确加载http://api.jquery.com/error/,则调用此error
函数,因此如果不发生错误,则不会调用该函数。在你的函数中加注警告并检查它是否被调用。
答案 1 :(得分:0)
它没有被调用,因为在浏览器抛出错误事件之前,错误事件不会连接到处理函数。 http://api.jquery.com/error/ - 看看他们用JQuery加载img src的例子和原因。