2011-05-15 2 views
3

테이블 너비 javascript 및 createElement()를 만들려고합니다. 내 문제는 어떤 배경 이미지도 설정하지 않는다는 것입니다. 그러나 innerHTML을 동일한 경로로 이미지 태그에 설정하면 작동합니다!createElement 배경 이미지

create : function() { 
    var tbody = document.createElement('tbody'); 
    for(i in this.map) { 
     var tr = document.createElement('tr'); 
     for(j in this.map[i]) { 
      var td = document.createElement('td'); 
      var cell = this.map[i][j]; 
      td.style.color = "red"; 
      console.log("gfx/tile_"+this.backgrounds[cell]+".png"); 
      td.style.backgroundImage = "url(gfx/tile_"+this.backgrounds[cell]+".png);"; 
      td.innerHTML = "j"; 
      tr.appendChild(td); 
     } 
     tbody.appendChild(tr); 
    } 
    this.gameDOMelm.appendChild(tbody); 
} 

또한 테이블의 각 행 사이에 공간이 있다는 또 다른 문제점이 있습니다.

<table id="gameField" cellpadding="0" cellspacing="0"></table> 

그리고 CSS

* {padding: 0; margin: 0;} 
    td { 
     min-width: 32px; 
     min-height: 32px; 
     width: 32px; 
     height: 32px; 
    } 

이러한 문제가 크롬과 FF의 @ 우분투 11.04에서 모두 발생합니다 는 여기가 추가있어 DOM 요소입니다. 자바 스크립트 콘솔에 오류가 표시되지 않습니다.

+0

방화범 입력란에는 어떤 CSS가 보입니까? – SLaks

+0

"color : red;"를 참조하십시오. 은 적용되다. 나는 그 질문에 게시 된 하나를 참조하십시오. 그러나 배경 이미지가 없습니다. – jack

답변

3

"url('gfx/tile_"+this.backgrounds[cell]+".png')" (URL을 주위에 작은 따옴표)보십시오.

+0

그게 효과가 있어요. 나는 이미 여러 번 시도 했었다고 확신했다. 하지만 그래, 뭔가 빠뜨린 것 같아! 사실 내 rowspacing 문제가 해결되었습니다! 고마워! – jack