创建元素背景图片

4

我正在尝试使用javascript和createElement()创建一个表格。 我的问题是它没有设置任何背景图片(只有纯白色)。 然而,如果我将 的innerHTML设置为具有相同路径的图像标记,则可以正常工作!

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);
}

我还有一个问题,就是表格中每一行之间有空白间隔。 这是我要附加的DOM元素:

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

还有CSS

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

这些问题在Chrome和FF @ ubuntu 11.04中都会出现。但是javascript控制台没有显示任何错误。

  • 杰克

你在Firebug中看到了哪些CSS? - SLaks
我看到了应用了 "color:red;"。我看到了在问题中发布的那个。但是没有背景图片。 - jack
1个回答

5
尝试使用"url('gfx/tile_"+this.backgrounds[cell]+".png')"(URL周围带有单引号)来解决问题。

那个有效了。我确信我已经尝试过好几次了。但是没错 - 一定是漏掉了什么!它实际上也解决了我的行间距问题!非常感谢!! - jack

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接