You need to enable JavaScript to run this app. 如何使用JavaScript在表格指定列前插入新列
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript在表格指定列前插入新列

[操作界面示意图]

需求说明

  • 项目中已实现通过select标签获取列索引的能力,select的选项是根据从表格表头行提取的数组动态生成的。
  • 目前已有代码的实现逻辑是:触发新增列操作时,直接在表格最后一列的后方插入新列;当select的选中项发生变化时,可以获取到对应的列索引值。
  • 需要调整代码逻辑,实现在用户指定的列索引对应的位置之后插入新列。

现有代码

页面结构(HTML)

<button id="add-i-tableID">Add test table</button>
<button id="add-i-colID">Add column</button>

<div id="i_tableID" ></div>

交互逻辑(JavaScript)

var arrHead = new Array(); // 存储表头信息的数组
document.getElementById("add-i-tableID").addEventListener("click", function(){
    arrHead = [ 'Customer', 'Article', 'Amount'];
  
    var empTable = document.createElement('table');
    empTable.setAttribute('id', 'empTable'); // 设置表格id

    var tr = empTable.insertRow(-1);
    for (var h = 0; h < arrHead.length; h++) {
        var th = document.createElement('th'); // 创建表头单元格
        th.innerHTML = arrHead[h];
        th.style.border= '1px solid ';
        tr.appendChild(th);
    }

    var div_table = document.getElementById('i_tableID');
    div_table.appendChild(empTable);  // 将表格添加到页面容器中
   
});

var selectedIndexT = 0;
document.getElementById("add-i-colID").addEventListener("click", function() {
  var th = document.createElement('th'); // 创建新列的表头
  var colname1 = prompt("Please enter name of  the column");
  th.innerHTML = colname1;
  th.style.border = '1px solid';

  var xcvbn = document.getElementById('empTable');
  var xcvbnR = xcvbn.getElementsByTagName("tr");
  xcvbnR[0].appendChild(th);

  for (i = 1; i < xcvbnR.length; i++) {
    var td = document.createElement('td');
    var ele1 = document.createElement('input');
    ele1.setAttribute('type', 'text');
    ele1.setAttribute('value', '');
    ele1.style.color = "#8dbeb6";
    td.appendChild(ele1);
    xcvbnR[i].appendChild(td);
  }
});

内容的提问来源于stack exchange,提问作者sonia3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.24 02:54:05