2014-02-21 42 views
0

我有一個包含圖像路徑的數組imglist檢查循環如果圖像存在和實現

下面的代碼檢查圖像是否存在,如果找不到,則將numB樣式更改爲:display none。

var nums = []; 
var imgc; 
var imgnumb = imglist.length; 
for(var d = 1; d <= imgnumb; d++) { 
     imgc = document.createElement('img'); 
     imgc.src = imglist[d]; 
     imgc.onerror = function() { 
     alert(d); 
     nums[d] = parseInt(document.getElementById("numB"+d).setAttribute("style", "display:none")); 
}} 

我的代碼不工作,我找不到任何問題。請幫我解決這個錯誤。

+0

'VAR imgnumb = img.length;' - 了'img'變量不存在。 –

+0

對不起,錯誤複印,更正。 – user3297452

+0

你可能也應該使用[file_exists](http://phpjs.org/functions/file_exists/) – GroundZero

回答

0

看起來document.getElementById("numB"+d)在DOM中找不到正確的元素,因此無法將其顯示值設置爲無。

確保ID屬性設置爲你的動態創建的元素:

imgc = document.createElement('img'); 
imgc.setAttribute("id", "numB" + d); 
+0

我認爲這不是,當在一個循環警報工作(四);在imgnumb = 96時顯示多次,例如97。 – user3297452

+0

數組索引從0開始,因此具有10條記錄的數組將具有0到9的索引。將for循環更改爲:for for(var d = 0; d

+0

不,數組也是從1申報。 – user3297452