Удалить все строки (tr) из таблицы HTML с определенной подстрокой в ​​id - PullRequest
0 голосов
/ 02 апреля 2019

Я хочу удалить все строки из определенной HTML-таблицы, где идентификатор строки (tr) содержит определенную подстроку.

Нужно ли foreach по всем строкам или есть более быстрый путь?

Я думаю о чем-то подобном, но думаю, что я на неправильном пути:

var table = document.getElementById("myTable");
table.find("tr").id.contains("somesubstring").remove();

Ответы [ 2 ]

4 голосов
/ 02 апреля 2019

Если вы используете jQuery, то следующий способ это сделать, используя атрибут , содержащий селектор :

$('#myTable tr[id*=somesubstring]').remove();
1 голос
/ 02 апреля 2019

Вы можете использовать querySelectorAll, чтобы получить все tr, а затем использовать includes, чтобы проверить, является ли id contains определенной строкой. В этом примере он проверяет, содержит ли id «test»

function removeRow() {
  document.querySelectorAll('tr').forEach(function(item) {
    if (item.id.includes('test')) {
      item.remove();
      }
    })
   }
<table border='1px solid black'>
  <tr id='test'>
    <td>1</td>
    <td>1</td>
    <td>1</td>
  </tr>
  <tr id='rtt'>
    <td>2</td>
    <td>2</td>
    <td>2</td>
  </tr>
  <tr id='weftest'>
    <td>3</td>
    <td>3</td>
    <td>4</td>
  </tr>
  <tr id='vsfvsfv'>
    <td>4</td>
    <td>4</td>
    <td>4</td>
  </tr>
  <tr id='yukyktest'>
    <td>5</td>
    <td>5</td>
    <td>5</td>
  </tr>
  <tr id='sfsvfsfv'>
    <td>6</td>
    <td>6</td>
    <td>6</td>
  </tr>
</table>
<button type='button' onclick='removeRow()'>Remove</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...