Javascript 转换为字符串的表长度属性不返回任何内容
我已经试着找出这个bug有一段时间了,但我在网上找不到任何关于它的信息 我期望发生的事情: 按下“创建行”按钮时,将在表格底部创建新行。该行有三个单元格。第一个是指数,第二个是“新1”,第三个是“新2” 发生了什么: 我不希望出现的情况是,新行中的第一个单元格显示为空。检查表明它实际上没有内容。将字符串保存到变量中,然后将其添加到单元格的内部html也不起作用。但是,如果我将该变量记录到控制台,它会打印正确的索引Javascript 转换为字符串的表长度属性不返回任何内容,javascript,html,html-table,Javascript,Html,Html Table,我已经试着找出这个bug有一段时间了,但我在网上找不到任何关于它的信息 我期望发生的事情: 按下“创建行”按钮时,将在表格底部创建新行。该行有三个单元格。第一个是指数,第二个是“新1”,第三个是“新2” 发生了什么: 我不希望出现的情况是,新行中的第一个单元格显示为空。检查表明它实际上没有内容。将字符串保存到变量中,然后将其添加到单元格的内部html也不起作用。但是,如果我将该变量记录到控制台,它会打印正确的索引 函数myCreateFunction(){ var table=document
函数myCreateFunction(){
var table=document.getElementById(“myTable”);
var row=table.insertRow(table.rows.length);
var cell1=行插入单元格(0);
var cell2=行插入单元格(1);
var cell3=行插入单元格(2);
var test=table.rows.length.toString()
cell2.innerHTML=test.toString()
console.log(测试)
cell2.innerHTML=“新建1”;
cell3.innerHTML=“新2”;
}
函数myDeleteFunction(){
document.getElementById(“myTable”).deleteRow(document.getElementById(“myTable”).rows.length-1);
}
表格,
运输署{
边框:1px纯黑;
}
单击按钮为表创建和删除行
创建行
删除行
1.
新1
新2
简单地说,您没有将任何值设置为
cell1
事实上,您的问题是将索引插入到cell2
而不是cell1
,因此cell1
始终为空
只需更改这一行:
cell2.innerHTML = test.toString();
致:
演示:
函数myCreateFunction(){
var table=document.getElementById(“myTable”);
var row=table.insertRow(table.rows.length);
var cell1=行插入单元格(0);
var cell2=行插入单元格(1);
var cell3=行插入单元格(2);
var test=table.rows.length.toString()
cell1.innerHTML=测试;
console.log(测试)
cell2.innerHTML=“新建1”;
cell3.innerHTML=“新2”;
}
函数myDeleteFunction(){
document.getElementById(“myTable”).deleteRow(document.getElementById(“myTable”).rows.length-1);
}
表格,td{
边框:1px纯黑;
}
单击按钮为表创建和删除行
创建行
删除行
1.
新1
新2
您从未设置第一个插入单元格的innerHTML
。您一定忘了设置第一个单元格的innerHTML
,而将第二个单元格的innerHTML
设置了两次
改变
cell2.innerHTML = test.toString()
到
表,td{
边框:1px纯黑;
}
单击按钮以创建和删除表的行
创建行
删除行
1.
新1
新2
函数myCreateFunction(){
var table=document.getElementById(“myTable”);
var row=table.insertRow(table.rows.length);
var cell1=行插入单元格(0);
var cell2=行插入单元格(1);
var cell3=行插入单元格(2);
var test=table.rows.length.toString()
cell1.innerHTML=测试;
console.log(测试)
cell2.innerHTML=“新建1”;
cell3.innerHTML=“新2”;
}
函数myDeleteFunction(){
document.getElementById(“myTable”).deleteRow(document.getElementById(“myTable”).rows.length-1);
}
你从来没有设置过cell1
的内容。有时候只需要第二双眼睛,谢谢@Pointy
cell1.innerHTML = test;
cell2.innerHTML = test.toString()
cell1.innerHTML = test;//you do not need to invoke toString() on a String