2015-05-06 55 views
-3

我試圖創建一個腳本,檢查是否存在或不存在徽標。如果沒有,我想用innerHTML來輸出公司名稱。JS如果圖像存在,顯示它。否則,顯示文本

$.get(firmlogo) 
    .done(function() { 
     document.getElementById('firmlogo').innerHTML = "<img src="+logooffirm+">"; 

    }).fail(function() { 
     document.getElementById('firmlogo').innerHTML = "<h2>"+nameoffirm+"</h2>"; 

    }) 

即使標識存在,它也會顯示文本。我得到的錯誤是:

無法加載資源:服務器與無法加載資源的404(未找到) http://www.example.com/[object%20HTMLDivElement]狀態迴應:服務器與404(未找到)

狀態迴應

任何想法我做錯了什麼?

+2

你'firmlogo'是一個div對象的引用,而不是實際的URL – technophobia

+0

你有一臺服務器的路由設置來處理'GET'請求? – tymeJV

+1

你爲什麼不使用'alt'? – tkay

回答

3

你正在重新發明輪子。 HTML具有內置的此功能。

<h2><img src="bad_address" alt="Display this text instead" /></h2>

+0

唯一的問題是你得到了alt文本的圖像框 – user2208768

0

您可以使用alt這樣做沒有這些東西。如果你想檢查圖像是否在某個網址中可用,請使用此代碼。

var image = new Image(); 
image.src = "img.jpg"; 
if (image.width == 0) { 
    console.log("no image"); 
} 
else console.log("image available"); 

或者你可以使用Ajax的方式

$.ajax({ 
    url: "img.jpg", 
    type: "HEAD", 
    error: function() { console.log("no image"); }, 
success:function(){console.log("image available");} 

}); 
相關問題