2017-05-07 3 views
0

모든 이미지에 클래스 스프라이트를 추가하려고합니다. 게다가 eachName [1]이 bulbasaur 인 경우, 발견 된 클래스를 추가하려고합니다. 그렇지 않으면 클래스에 추가되지 않은 클래스를 추가하려고합니다. 이 코드는 클래스 스프라이트를 올바르게 캐치 할 수는 있지만 찾을 수 없거나 발견되지 않은 것을 잡을 수 없습니다. 이 코드에 잘못된 것이 있습니까? 감사.img 요소에 여러 클래스를 추가하는 방법

  var picArr = this.responseText.split("\n"); 
      for(var i=0; i < picArr.length; i++){ 
       var eachName = picArr[i].split(":") 
       var spriteurl = "/Pokedex/sprites/" + eachName[1]; 
       var imgClass = 'sprite'; 
       if(eachName[1]==='bulbasaur.png'){ 
        imgClass += ' found'; 
       } else { 
        imgClass += ' unfound'; 
       } 
       document.getElementById("pokedex-view").innerHTML += "<img src=" + spriteurl + " class=" + imgClass + ">"; 
      } 

답변

1

나는 당신이 당신의 innerHTML 출력 탈출 따옴표를 놓치고 생각합니다.

  if(eachName[1]==='bulbasaur.png'){ 
       imgClass += ' found'; 
      } else { 
       imgClass += ' unfound'; 
      } 

그렇지 않으면 당신이 imgClass 변수를 재 할당하는 대신 추가하여 sprite 클래스를 잃고 : 당신이 원한다면

document.getElementById("pokedex-view").innerHTML += "<img src=\"" + spriteurl + "\" class=\"" + imgClass + "\">"; 

또한, 그것이 있어야 클래스 foundunfound를 추가 그것에.

+0

나는 당신이 제안한 코드를 시도했다. 코드에서 발견되었거나 발견되지 않은 클래스를 잡을 수 있습니다. 하지만 그 대신 클래스 "스프라이트"를 잡을 수 없습니다 ... – Tak

+0

대신'imgClass = 'found''와'imgClass ='unfound''는'imgClass + = 'found''와'imgClass + =' unfound''n, 나는 그것을 반영하기 위해 나의 응답을 갱신했다. – YoannM

+0

그게 효과가! 정말 고맙습니다! – Tak

관련 문제