无法在js生成的表中设置td宽度

时间:2015-01-12 16:24:43

标签: javascript html css

我正在生成一个简单的html表,并希望在同一行中有不同宽度的列。但是,当我尝试使用像素或%设置宽度时,显示内容没有变化。此外,添加的第一列(' td'元素)总是比后来添加的其他列宽得多。我已经尝试在创建元素之后和将其作为子节点附加之前设置宽度,并且在将元素作为子节点附加之后设置宽度。这是我尝试过的一个例子:

                    var tr = document.createElement('TR');
                    tr.style.margin = "50px"

                    //scoring column
                    var td0 = document.createElement('TD')
                    td0.style.padding = '1em'
                    td0.style.width = '2px'

                    var tr11 = document.createElement('TR');
                    tr11.style.margin = "50px"
                    tr11.innerHTML ="score: " +  ascore_array[i + offset];

                    var tr22 = document.createElement('TR');
                    tr22.style.margin = "50px"
                    tr22.innerHTML ="num votes: " +  anumVotes_array[i + offset];

                    td0.appendChild(tr11)
                    td0.appendChild(tr22)


                    //answer column
                    var td1 = document.createElement('TD')
                    td1.style.padding = "1em"
                    td1.innerHTML =   auser_array[i + offset]

                    tr.appendChild(td0)
                    td0.style.width = "20%"
                    tr.appendChild(td1)
                    td1.style.width = "30%"

正如您在上面的代码中看到的,我已经尝试了px和%作为宽度单位。我还尝试在将元素设置为子节点之前和之后设置宽度。我的代码没有变化。另外,我使用的是css模板,但它们只为我的表元素设置了默认的背景颜色。 css中没有任何内容可以定期进行td元素大小调整。我也试过调整td元素中的tr元素,但这也没有效果。

我使用的是Chrome浏览器。

我做错了什么,如何解决?

2 个答案:

答案 0 :(得分:0)

也许这可以帮到你

var cell = document.createElement('td');
parent.appendChild(cell);
cell.style.width = '200px';

http://jsfiddle.net/ZvEDn/1/ç

这是我找到它的问题 how to set cell width in javascript just after creating it with 'document.createElement()' method?

答案 1 :(得分:0)

好的我想我知道问题是什么。根<col style="width: 80%;"><col style="width: 20%;">之间有一个<table>和一个<tbody>,它覆盖了<td>下方的样式