Javascript 使用for循环创建tr';s和td';表元素中的\\无法分析来自td';s
我正在创建一个表,在表中创建tr和td。带循环的表通过减法计算,并从for循环中创建一列结果。当我尝试添加下一列时,它不会解析计算,而是继续执行计算Javascript 使用for循环创建tr';s和td';表元素中的\\无法分析来自td';s,javascript,html,for-loop,createelement,Javascript,Html,For Loop,Createelement,我正在创建一个表,在表中创建tr和td。带循环的表通过减法计算,并从for循环中创建一列结果。当我尝试添加下一列时,它不会解析计算,而是继续执行计算 for (i=foo; i<bar+1; i++) { var tableNode = document.getElementById('tableID'); var trNode = document.createElement('tr'); var trValue = '';
for (i=foo; i<bar+1; i++)
{
var tableNode = document.getElementById('tableID');
var trNode = document.createElement('tr');
var trValue = '';
var tdNode = document.createElement('td');
var tdValue = parseFloat(i) + parseFloat(500); //this is calculating 500 and not concatenating 500 for every iteration.
trNode.innerHTML = trValue;
tdNode.innerHTML = tdValue;
tableNode.appendChild(trNode);
trNode.appendChild(tdNode);
}
for(i=foo;i如果要连接parseFloat(i)
和parseFloat(500)
,请执行以下操作:
var tdValue = parseFloat(i) + " " + parseFloat(500);
而不是parseFloat(i)+parseFloat(500)
,因为这将添加浮点值,tdValue
将是总和(类型number)
注意中间的“<代码>”/“代码>(包含空格的字符串),它将考虑元素被连接为<强>字符串,并且连接的结果是类型<强> String
< P>这应该起作用:
设foo=1,
bar=3;
for(设i=foo;i
&for
循环
如果要使用for
循环生成
,则应使用两个for
循环-第一个循环用于行,第二个循环用于每行的单元格。以下演示具有以下内容:
- 具有以下功能的
:
- 输入行数的
- 输入每行的单元格数的
- 按钮触发调用函数
generateTable()
的单击事件
- 使用可以访问
及其所有表单控件
- 方法和将自动创建一个元素并附加它
当然,
及其所有相关内容都是可选的,只是为了演示而添加的。只需为变量rowQty
和celQty
分配数字,就可以单独使用循环
演示
/*
可选的
*/
var ui=document.forms[0]。元素;
var btn=ui.btn;
btn.onclick=可生成表;
/*
要求的
*/
函数生成器(e){
var table=document.getElementById('T0');
/*
如果不使用
将下面两行替换为:
*/
//var rowQty={any integer}
//var celQty={任何整数2或greter}
var rowQty=ui.rowData.value;
var celQty=ui.celData.value;
for(设i=0;i
表格{
边界塌陷:塌陷;
表布局:固定;
}
桌子
运输署{
边框:1px实心#000;
文本对齐:右对齐;
}
运输署{
最小宽度:3cm;
最大宽度:150px;
}
td:第一种类型{
宽度:3cm;
文本对齐:居中;
}
输入{
显示:内联块;
文本对齐:居中;
宽度:5cm;
}
排:
每行单元格数:
去
使用parseInt而不是parseFloat尝试在两者之间添加一个空字符串。var tdValue=parseFloat(i)+“”+parseFloat(500);