3 回答

TA貢獻1866條經(jīng)驗 獲得超5個贊
如果你使用 Jquery,你可以遍歷表 tr 并添加一個新的 td。
add_col.on('click',function() {
$('#table_data tbody tr').each(function( index ) {
$('<td />').appendto($(this));
});
});

TA貢獻1859條經(jīng)驗 獲得超6個贊
查看addColumn()
- 函數(shù)。
這很簡單。
選擇表中的所有行。
<td>
為每一行創(chuàng)建一個。將這些 td 附加到行中。
PS:您可以決定為函數(shù)提供更多參數(shù),例如列的標(biāo)題和默認(rèn)值?,F(xiàn)在我只是選擇了表的 ID 作為參數(shù),所以你至少可以跨表重用它。PS2:我從按鈕上的 onclick 事件觸發(fā)了該功能。
function addColumn( tableId ) {
let tableRows = document.querySelectorAll( `#${tableId} tr` );
tableRows.forEach( row => {
let td = document.createElement('td');
row.appendChild(td);
});
}
.add{position: fixed;top:10px}
table{
margin: 30px auto;
}
table th,td{
padding:10px;
border-bottom: 1px solid #ddd;
border-right:1px solid #ddd;
text-align: center;
}
input{
width:100px;
}
<div class="add">
<button id="add-btn">Add Row</button>
<button id="addCol-btn" onclick="addColumn('table_data')">Add Column</button>
</div>
<table id="table_data">
<th>Name</th>
<th>Color</th>
<th>Price</th>
<tr>
<td>Alex</td>
<td>Red</td>
<td>150</td>
</tr>
<tr>
<td>Max</td>
<td>Blue</td>
<td>300</td>
</tr>
<tr>
<td>Mike</td>
<td>Black</td>
<td>700</td>
</tr>
</table>

TA貢獻1827條經(jīng)驗 獲得超4個贊
您可以簡化您的功能,如下所示:
add_col.on('click',function() {
$("#table_data tr").each(function(i) {
if( i > 0 ) {
$(this).append('<td><input type="text" /></td>')
}
});
});
這是更新的小提琴
添加回答
舉報