使用javascript删除列的正则表达式?
因此,我的HTML表如下所示:使用javascript删除列的正则表达式?,javascript,html,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> <
<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"> </td>
<td class="list" align="center"> </td>
</tr>
...
</table>
克拉斯(北)
震惊
法赫
劳姆
垂直文本
Vertr-Text-2
6.1
1 - 2
库
312006
...
我需要删除最后一列。我找不到这个的正则表达式。我需要删除每行中的第6个元素。这可以理解为一个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]);
}
}
}
var rows=document.getElementById(“tableObj”).querySelector(“tr”);
对于(var i=0;i这可以理解为一个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]);
}
}
}
var rows=document.getElementById(“tableObj”).querySelector(“tr”);
对于(var i=0;i如果要删除一列,可以循环遍历每一行并删除特定位置的单元格(在本例中为最后一行)
让我知道这是否有效如果你想删除一列,你可以在每一行中循环并删除特定位置的单元格(在本例中是最后一个)
让我知道这是否有效你在使用jQuery吗?不,我没有。我应该使用jQuery吗?我不太喜欢。你不需要使用jQuery,只是有些人喜欢使用jQuery,因为它简化了一些操作。无论如何,我认为Felipe的答案可能会解决你的问题。用于操作HTML的正则表达式是一个糟糕的idea、 坚持使用DOM操作你使用jQuery吗?不,我不是。我应该使用jQuery吗?我不是很喜欢。你不需要使用jQuery,只是有些人喜欢使用jQuery,因为它简化了一些操作。无论如何,我认为Felipe的答案可能会解决你的问题。用于操作HTML的正则表达式是个坏主意。S勾选DOM操作XY问题是当有人错误地认为他们必须做X,而实际上他们应该尝试做Y。这不是“如何使用Y做X”。HTML文件是从另一个程序(时间表程序)导出的文件,因此我没有格式化它。看起来我误读了您想要删除列而不是行的问题。您可以通过一个简单的javascript DOM解析器传递代码,该解析器在节点上迭代,并创建一个新表,其中只包含您想要的列,至于XY,我认为是“regex”在这种情况下是不可靠的,执行DOM程序会产生更好的结果。我想我今天对regexpressions考虑得太多了,对此表示抱歉。无论如何,感谢您的建议,但Michaels解决方案对我来说非常有效。XY问题是当有人错误地认为他们必须执行X,而他们应该尝试执行Y时,却认为他们必须执行X。它不是“如何使用Y执行X”。HTML文件是从另一个程序(时间表程序)导出的文件,因此我没有格式化它。看起来我误读了您想要删除列而不是行的问题。您可以通过一个简单的javascript DOM解析器传递代码,该解析器在节点上迭代,并创建一个新表,其中只包含您想要的列,至于XY,我认为是“regex”在这种情况下是不可靠的,执行DOM程序会产生更好的结果。我想我今天对regexpressions考虑得太多了,对此表示抱歉。无论如何,谢谢你的建议,但是Michaels解决方案对我来说非常有效。