【发布时间】:2011-05-26 03:10:51
【问题描述】:
这是我的功能:
function CreateResultsTable(bps, incs) {
var table = document.createElement('table');
var str = '<table border=1>';
str += '<tr><th></th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th></tr>';
var i = 0;
// up
for (i = 0; i < incs; i++) {
var num = (incs - i) * bps;
var newStr = num.toString();
str += '<tr><th>' + newStr + '</th><td>100,000</td><td>100,000</td><td>100,000</td><td>100,000</td><td>100,000</td></tr>';
}
i = 0;
//down
for (i = incs; i > 0; i--) {
var num = (incs - i) * bps;
var newStr = '-' + num.toString();
str += '<tr><th>' + newStr + '</th><td>100,000</td><td>100,000</td><td>100,000</td><td>100,000</td><td>100,000</td></tr>';
}
return str;
}
我想要的是说我通过{bps = 25, incs = 4}。它应该始终创建两倍的行数(在标题行下方)。因此,对于 incs = 4 和 bps = 25,它应该创建第一个 td = 100, 75, 50, 25, -25, -50, -75, -100 的行——按此顺序。
它现在正在做的是像100, 75, 50, 25, -0, -25, -50 这样创建它们——就是这样。
我做错了什么?
【问题讨论】:
-
别忘了关闭你的
table元素。 -
不要尝试用字符串构建表格的内部。使用 createElement 和朋友。 IE 真的不喜欢改变一些表格的 innerHTML。
-
@David - 你说的是真的,但他没有这样做,他正在创建一个完整的表,所以虽然我也不喜欢它......这在 IE 中不是问题。跨度>
-
啊。我查看了第二行,并没有注意到结果从未使用过。
标签: javascript html loops html-table