创建元素背景图像

发布于 2024-11-08 00:59:26 字数 1177 浏览 3 评论 0原文

我正在尝试创建一个表格宽度 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 控制台中没有显示错误。

  • 杰克

I am trying to create a table width javascript and createElement().
My problem is that it does not set any background image (just plain white).
However, if I set the innerHTML of the to an image tag with same path, it works!

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

I also have another problem that there's space between each ROW in the table.
Here's the DOM Element I'm appending to:

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

And the CSS

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

These problems occur both in Chrome and FF @ ubuntu 11.04.
No errors shows in javascript console.

  • jack

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南巷近海 2024-11-15 00:59:26

尝试 "url('gfx/tile_"+this.backgrounds[cell]+".png')" (在 URL 两边加上单引号)。

Try "url('gfx/tile_"+this.backgrounds[cell]+".png')" (with single quotes around the URL).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文