2014-11-24 5 views
0

동적으로 생성 된 테이블 출력이 있습니다.표 셀 값을 그림으로 바꾸는 방법은 무엇입니까?

세포 값의 채우기 및 대체를 수행하는 자바 스크립트 기능이 있습니다 (예 : innerText==3; 아래의 샘플 코드를 찾아보십시오. 배경이 녹색이 ​​됨).

이제 innerText==9이있는 표 셀에 그림을 삽입하려고합니다. 내 기능에이 기능을 포함시킬 수 있습니까? pictureGrey 선언을 시도하여 innerText에 할당했지만 작동하지 않습니다.

누구나 아이디어가 있습니까? 누군가 나를 도울 수 있습니까? 사전에

고마워, 게로 B.

function ModifyData() { 
 
     var Elements=document.getElementsByTagName('td'); 
 
     pictureGrey="Z_led_grey.gif"; 
 

 
     for(var i=0;i<Elements.length;i++) { 
 
     if(Elements[i].innerText=='3') { 
 
      Elements[i].style.color='green'; 
 
      Elements[i].style.background='green'; 
 
      Elements[i].innerText=' '; 
 
     } 
 
     if(Elements[i].innerText=='9') { 
 
      Elements[i].innerText= pictureGrey ; 
 
     } 
 
     } 
 
    }

답변

0

새 이미지 요소를 만들고 요소를 추가 할 수 있습니다. 데이터가 나중에 다시 변경 될 수 있는지 여부에 따라 먼저 이미지의 존재 여부를 확인해야 할 수도 있습니다.

CSS

img.myFullSizeImageClass { 
    width: 100%; 
    height: 100%; 
} 

자바 스크립트

function ModifyData() { 
    var Elements = document.getElementsByTagName('td'); 
    pictureGrey = "angular-icon.png"; 

    for (var i = 0; i < Elements.length; i++) { 
     if (Elements[i].firstChild.nodeValue == '3') { 
      Elements[i].style.color = 'green'; 
      Elements[i].style.background = 'green'; 
      Elements[i].firstChild.nodeValue = ' '; 
     } 
     else if (Elements[i].firstChild.nodeValue == '9') { 
      Elements[i].firstChild.nodeValue = ""; 
      var img = document.createElement("img"); 
      img.src = pictureGrey; 
      img.className = 'myFullSizeImageClass' 
      Elements[i].appendChild(img); 
     } 
    } 
} 
+0

안녕 DoctorMick, 그건 내가 원하는 아주 가까이 온다. 이제 9와 이미지의 자리 표시자를 보여줍니다. 동적 인 셀의 너비와 높이로 이미지를 자동으로 확대하고 숫자 "9"를 제거 할 수 있습니까? –

+0

@GeroB., 업데이트 된 내용, 테스트하지 않았지만 제대로 작동해야합니다. – DoctorMick

+0

글쎄, 그림이 나타나지 않는다면, 맞지 않는 자리 표시자가 나타납니다. 이 그림에 대한 구문 링크가 올바른지 확인하십시오 : pictureGrey = "C : \ temp \ Z_led_grau.gif"; ? 고마워요! –

0

아래의 코드를 확인하시기 바랍니다.

function ModifyData() { 
    var Elements=document.getElementsByTagName('td'); 
    pictureGrey="Z_led_grey.gif"; 

    for(var i=0;i<Elements.length;i++) { 
    if(Elements[i].innerText=='3') { 
     Elements[i].style.color='green'; 
     Elements[i].style.background='green'; 
     Elements[i].innerText=' '; 
    } 
    if(Elements[i].innerText=='9') { 
     Elements[i].innerText=' '; 
     var img = document.createElement("img"); 
     img.src=pictureGrey; 
     Elements[i].appendChild (img);} 
    } 
} 

데모 링크 : http://jsfiddle.net/asimshahiddIT/acz5xn3b/

관련 문제