我需要向表中添加行,我已手动添加标题行,并使用户可以编辑内容。
目前我有
var table = document.getElementById("tableData");
var add = 5;
for (var i = 0; i < add; i++) {
var row = table.insertRow(0);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
cell1.innerHTML = "New";
cell2.innerHTML = "New";
}
我只是练习添加行。我已经看到,为了使单元格可编辑,你需要将div放在“contenteditable”中。如何将其添加到我已有的代码中?
由于
答案 0 :(得分:2)
你应该注意一件事:
<td>
个元素(在其他一些元素中)无法直接在IE中设置为contenteditable
:请参阅http://msdn.microsoft.com/en-us/library/ms537837(v=vs.85).aspx
为了完整起见,有几种方法可以做到这一点
var table = document.getElementById("tableData");
var add = 5;
for (var i = 0; i < add; i++) {
var row = table.insertRow(0);
var cell1 = row.insertCell(0);
// Method 1 (Restricted in IE)
cell1.innerHTML = "Method 1";
cell1.setAttribute('contentEditable', 'true');
// Method 2 (Restricted in IE)
cell1.innerHTML = "Method 2";
cell1.contentEditable = true;
// Method 3 (All browsers)
cell1.innerHTML = "<div contenteditable>Method 3</div>";
// Method 4 (All browsers)
var div1 = document.createElement('div');
div1.innerHTML = "Method 4";
cell1.appendChild(div1);
div1.contentEditable = true;
}
答案 1 :(得分:1)
一种方法是将div指定为innerHTML:
cell1.innerHTML = "<div contenteditable='true'>New</div>";