我想使用Javascript将值插入表中。它添加了行和所需的单元格,以及我想要添加的元素,但是我要通过.innerHTML
插入值的单元格仍为空。
这是我的代码。
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.type = "checkbox";
element1.name="chkbox[]";
cell1.appendChild(element1);
var cell2 = row.insertCell(1);
cell2.innerHTML = rowCount + 1;
var cell3 = row.insertCell(2);
var element2 = document.createElement("input");
element2.type = "text";
element2.name = "txtbox[]";
cell3.appendChild(element2);
cell2
仍然是空的......它出了什么问题?
答案 0 :(得分:2)
无。它工作正常:
http://jsfiddle.net/jmorgan123/vB8PN/
我在Windows 7上的Chrome和FF中进行过测试,两者都有效。
tableID
吗? cell1
和cell3
,表格中是否存在少于3列的预先存在的行?这可能会导致奇怪的行为。cell2
已在某处定义。 不应该有所作为(变量应该重新分配)但我不知道你正在使用什么浏览器,所以也许还有一个错误它。它可能会令人窒息,即使它不应该。答案 1 :(得分:1)
这确实是一个奇怪的问题。正如大多数答案已经陈述的那样;它在众所周知的现代浏览器中运行良好。
既然你已经说过你正在使用Firefox和Chrome,它也应该在你的浏览器中运行良好(你是否更新到最新版和最好版本,或者你可能正在使用测试版?
我唯一能找到的是Quirksmode.org上的参考资料: http://www.quirksmode.org/dom/w3c_html.html
它声明IE5-9中几乎支持innerHTML
。但这是我在那里找到的最有趣的部分:
在IE和Konqueror中
innerHTML
在更新表时无法正常工作。通过使用纯DOM方法来解决这个问题。请参阅innerHTML
发明人的行为this explanation。
这也可能与您的问题有关,因为您尝试使用innerHTML
来操作表格。也许你应该查看他们所链接的解释,看看它是否适用于你的情况。