有没有办法在javascript中删除表中与正则表达式匹配的所有行?

时间:2014-10-28 15:05:25

标签: javascript regex

假设我有下表:

#   North South
1   17     55
2   19     66
3   28     77
4   26     88
5   35     99
6   32     44
7   42     33

假设我要删除包含数字'4'的所有行,那将是第6行和第7行。有没有办法在javascript中执行此操作?

我想要以下内容:

regex = ‘%4%’;
var table = document.getElementById('Table');
for (var i=0;i < table.rows.length;i++){
 if (table.rows[i] has regex)
    table.row[i]. delete
}

任何事先提供帮助

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

var table = document.getElementById('myTable');
for (var i = table.rows.length - 1; i >= 0; i--){
    if (table.rows[i].textContent.indexOf('4') !== -1){
        table.rows[i].remove();
    }
}
<table id="myTable">
    <tr>
        <td>123</td><td>456</td>
    </tr>
    <tr>
        <td class="some4">789</td><td>012</td>
    </tr>
    <tr>
        <td>345</td><td>678</td>
    </tr>
</table>

注意这只会删除包含“4”的单元格,并保留其属性中搜索字符串完整的行。

请注意,textContent是IE 9 +。