我有一个只有一个td的表,我有两个按钮,一个创建tr另一个td。问题是,当我创建tr时,下一个td并不会插入上一个创建的tr。
var table = document.createElement('table');
document.body.appendChild(table)
var tr = document.createElement('tr');
table.appendChild(tr);
var td = document.createElement('td');
tr.appendChild(td);
var createTd = document.createElement('button');
createTd.innerHTML = 'Create td';
document.body.appendChild(createTd);
var createTr = document.createElement('button');
createTr.innerHTML = 'Create tr';
document.body.appendChild(createTr);
createTd.addEventListener('click', function() {
var td = document.createElement('td');
tr.appendChild(td);
})
createTr.addEventListener('click', function() {
var tr = document.createElement('tr');
table.appendChild(tr);
})
td,
tr {
border: 1px solid black;
padding: 10px;
}
您可以在这里尝试演示:演示
发布于 2016-10-31 21:40:13
必须将新的tr
设置为全局变量,而不是本地变量。
var table = document.createElement('table');
document.body.appendChild(table)
var tr = document.createElement('tr');
table.appendChild(tr);
var td = document.createElement('td');
tr.appendChild(td);
var createTd = document.createElement('button');
createTd.innerHTML = 'Create td';
document.body.appendChild(createTd);
var createTr = document.createElement('button');
createTr.innerHTML = 'Create tr';
document.body.appendChild(createTr);
createTd.addEventListener('click', function() {
var td = document.createElement('td');
tr.appendChild(td);
})
createTr.addEventListener('click', function() {
tr = document.createElement('tr');
table.appendChild(tr);
})
td,
tr {
border: 1px solid black;
padding: 10px;
}
https://stackoverflow.com/questions/40350928
复制相似问题