使用javascript删除列的正则表达式?

时间:2017-10-16 19:27:05

标签: javascript html

所以我的HTML表格如下:

<table class="mon_list" id="mon_list">
    <tr class='list'>
        <th class="list" align="center"><b>Klasse(n)</b></th>
        <th class="list" align="center">Stunde</th>
        <th class="list" align="center">Fach</th>
        <th class="list" align="center">Raum</th>
        <th class="list" align="center">Vertretungs-Text</th>
        <th class="list" align="center">Vertr-Text-2</th>
    </tr>
    <tr class='list odd'>
        <td class="list" align="center" style="background-color: #FFFFFF"><b>6.1</b></td>
        <td class="list" align="center" style="background-color: #FFFFFF">1 - 2</td>
        <td class="list" align="center" style="background-color: #FFFFFF">Ku</td>
        <td class="list" align="center" style="background-color: #FFFFFF">
            <s>312</s>006</td>
        <td class="list" align="center">&nbsp;</td>
        <td class="list" align="center">&nbsp;</td>
    </tr>
    ...
</table>

我需要删除最后一列。我找不到正则表达式。我需要删除每一行中的第6个元素。

2 个答案:

答案 0 :(得分:1)

这可以解读为XY问题,即“我如何使用Y做X”, 也许问题可以改为“我怎么做X”, 我认为在这种情况下,Y是“正则表达式”。

我还认为您的代码可以使用更好的格式,您是否介意编辑问题?

在JavaScript中,您可以使用DOM removeChild()API删除行,如下所示传递列行的ID:

var rows = document.getElementById("tableObj").querySelector("tr");
for(var i=0;i<rows.length;i++){
    var cols = rows[i].querySelector("td");
    for(var r=0;r<cols.length;r++){
        if(r == 3){ //i.e. delete fourth column
            rows[i].removeChild(cols[r]);
        }
    }
}

答案 1 :(得分:1)

如果要删除列,可以遍历每一行并删除特定位置的单元格(在本例中为最后一行)

var table = document.getElementById("myTable");
for (var i = 0, row; row = table.rows[i]; i++) {
    row.removeChild(row.cells[row.cells.length - 1]);
}

如果有效,请告诉我