我编写了一个代码来测试一个问题,并注意到在通过javascript动态生成包含数据的表时无法添加空间。
我用来增加一些空间,但没有用。
<div id='table'>
</div>
var array = [{'id':'73','foo':'bar'},{'id':'45','foo':'bar'}];
var arrayLength = array.length;
var theTable = document.createElement('table');
// Note, don't forget the var keyword!
for (var i = 0, tr, td; i < arrayLength; i++) {
tr = document.createElement('tr');
td = document.createElement('td');
td.appendChild(document.createTextNode('<span>'+array[i].id+' </span>'));
tr.appendChild(td);
td = document.createElement('td');
td.appendChild(document.createTextNode('<span>'+array[i].foo+' </span>'));
tr.appendChild(td);
theTable.appendChild(tr);
}
//alert(theTable);
document.getElementById('table').appendChild(theTable);
寻找建议。感谢
答案 0 :(得分:1)
您可以像使用td和tr一样继续。创建一个新的span元素,然后设置innerHTML。 createTextNode
仅用于文本,因此浏览器不会解释标签和HTML实体。
var span = document.createElement('span');
span.innerHTML = array[i].id+' ';
td.appendChild(span);
答案 1 :(得分:0)
您可以直接将Unicode字符用于空格:
td.appendChild( document.createTextNode( '\u00A0' ) );
显然可以做几次:
td.appendChild( document.createTextNode( '\u00A0\u00A0\u00A0' ) );
// three spaces
答案 2 :(得分:0)
您可以使用CSS添加一些填充。
#table td > span {
padding-right:20px;
}
&#13;