2012-03-03 1 views
0
<img src="linkclick.aspx?fileticket=0" id="directory-image"> 

Скажем, когда это происходит, я хочу, чтобы заменить «linkclick.aspx? Fileticket = 0» с «изображения/нет-avatar.gif»Jquery заменить SRC для IMG тег

Я полагаю, может быть сделано с помощью JQuery, но я не могу это легко понять.


<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> 

Любая помощь приветствуется!

ответ

1

Это ошибка синтаксиса Javasript:

if imgsrc = "linkclick.aspx?fileticket=0" 

Вы должны скобка:

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

Тогда у вас есть смысловая ошибка, вы также должны изменить = к ==:

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

Вы также можете удалить else {}, если хотите, с осле он ничего не делает, и вы должны добавить точку с запятой после:

imgsrc="images/no-avatar.gif" 

и:

$("img#directory-image").attr("src", imgsrc) 
+0

@Goomba - Вы можете удалить инструкцию else {}, так как она пуста – Tom

+0

Спасибо, я попробовал следующее, и он работает, но он заменяет ВСЕ изображения с идентификационным файлом ID # с no-avatar.gif ... включая те, которые являются фактическими изображениями. – Goomba

+0

Может кто-нибудь объяснить, почему это не сработает: $ ("img # directory-image"). Attr ("src"). Replace ("linkclick.aspx? Fileticket = 0", "images/no-avatar. GIF "); Нужно ли мне как-то вызвать эту функцию? – Goomba

0

На самом деле это решение работало большое без JQuery:

jQuery/JavaScript to replace broken images

function ImgError(source){ 
    source.src = "/images/noimage.gif"; 
    source.onerror = ""; 
    return true; 
} 

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