2014-02-21 2 views
0

이미지 경로가 포함 된 imglist 어레이가 있습니다.이미지가 존재하고 실제화가 있는지 체크 인 루프

아래 코드는 이미지의 존재를 확인하고 발견되지 않으면 numB 스타일을 : 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

DOM에서 올바른 요소를 찾지 못해 표시 값을 none으로 설정하지 못했던 것 같습니다. document.getElementById("numB"+d)

하여 동적으로 생성 된 요소에 ID 속성을 설정해야합니다 :

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

루프 알림 (d)에서 작업 할 때가 아니라고 생각합니다. imgnumb = 96 일 때 예 97과 같이 여러 번 표시됩니다. – user3297452

+0

배열 인덱싱은 0부터 시작하여 10 개의 레코드가있는 배열은 0에서 9까지의 인덱스를 갖습니다. for 루프를 다음과 같이 변경하십시오. for (var d = 0; d

+0

아니요 배열도 있습니다. 1에서 선언했다. – user3297452

관련 문제