2011-05-15 153 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); 
} 

我还有另一个问题,表中的每个ROW之间有空格。 这里的DOM元素我追加到:

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

而且出现这两个问题在Chrome和FF @ Ubuntu的11.04 CSS

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

。 没有错误显示在JavaScript控制台。

  • 插孔
+0

您在Firebug中看到了哪些CSS? – SLaks 2011-05-15 12:46:56

+0

我看到“颜色:红色”被申请;被应用。我看到有人发帖。不过,没有背景图片。 – jack 2011-05-15 12:48:52

回答

3

尝试"url('gfx/tile_"+this.backgrounds[cell]+".png')"(与各地URL单引号)。

+0

工作。我确信我已经尝试了几次。但是,是的 - 一定是错过了一些东西!它实际上也修复了我的行距问题!非常感谢!! – jack 2011-05-15 12:53:23