Jquery将替换img标记的SRC

Jquery将替换img标记的SRC,jquery,image,src,Jquery,Image,Src,假设出现这种情况,我想将“linkclick.aspx?fileticket=0”替换为“images/no avatar.gif” 我假设这可以通过Jquery实现,但我不容易理解 函数replaceIMGText(){ var imgsrc=$(“img#目录映像”).attr(“src”); 如果imgsrc=“linkclick.aspx?fileticket=0”{ imgsrc=“images/no avatar.gif” } else{} $(“img目录映像”).attr(“

假设出现这种情况,我想将“linkclick.aspx?fileticket=0”替换为“images/no avatar.gif”

我假设这可以通过Jquery实现,但我不容易理解



函数replaceIMGText(){
var imgsrc=$(“img#目录映像”).attr(“src”);
如果imgsrc=“linkclick.aspx?fileticket=0”{
imgsrc=“images/no avatar.gif”
}
else{}
$(“img目录映像”).attr(“src”,imgsrc)
}
$(文档).ready(替换imgtext);
$(“html”).ajaxStop(replaceIMGText);


感谢您的帮助

这是一个Javasript语法错误:

<script type="text/javascript">

function replaceIMGText() {

var imgsrc = $("img#directory-image").attr("src");
if imgsrc = "linkclick.aspx?fileticket=0" {
imgsrc="images/no-avatar.gif"
}
else {}
$("img#directory-image").attr("src", imgsrc)

}


$(document).ready(replaceIMGText);
$("html").ajaxStop(replaceIMGText);
</script>
你需要括号:

if imgsrc = "linkclick.aspx?fileticket=0"
如果出现语义错误,还需要将
=
更改为
=

if(imgsrc = "linkclick.aspx?fileticket=0")
如果需要,您还可以删除
else{}
,因为它不起任何作用,您应该在以下内容之后添加分号:

if(imgsrc == "linkclick.aspx?fileticket=0")
以及:


实际上,这个解决方案在没有任何jQuery的情况下运行得非常好:

函数ImgError(源代码){
source.src=“/images/noimage.gif”;
source.onerror=“”;
返回true;
}

@Goomba-你也可以删除else{}语句,因为它是空的,所以我尝试了以下方法,它可以工作,但是它用ID#目录图像替换了所有图像,没有avatar.gif。。。包括那些实际图像。有人能解释为什么这不起作用:$(“img#directory image”).attr(“src”).replace(“linkclick.aspx?fileticket=0”,“images/no avatar.gif”);我是否需要以某种方式调用此函数?@Goomba这不起作用,因为
attr('src')
只返回一个字符串。修改该字符串不会修改属性。您需要使用例如
attr(“src”,“newvalue”)
@Goomba将属性设置为字符串的新值。对于另一个问题,HTML文档不能有多个具有相同ID的元素。如果有两个或多个具有相同ID的元素,则不再是HTML。你有一些类似于HTML的东西,但它不是真正的HTML。通常情况下,如果您有多个元素具有相同的ID,您应该使用类而不是ID。
if(imgsrc == "linkclick.aspx?fileticket=0")
imgsrc="images/no-avatar.gif"
$("img#directory-image").attr("src", imgsrc)
function ImgError(source){
  source.src = "/images/noimage.gif";
  source.onerror = "";
  return true;
}

<img src="someimage.png" onerror="ImgError(this);"/>