Если полная таблица может содержать или не содержать строки с Create Events: -
.Тогда итерация будет необходима.Для каждой строки, доступной в таблице, вам нужно взять первый em строки и проверить текстовое содержимое следующего брата.Если он соответствует '-', тогда вся строка должна быть удалена.
Сначала выполняется итерация таблицы и всех ее строк:
$('table tr').each(function(i, tr) {...}
В цикле мы определяемпервый em, доступный на каждом теге td.Затем мы получаем следующий текст, используя nextSibling.nodeValue
, и обрезаем его, чтобы исключить дополнительные пробелы.
var $em = $(tr).find('td em:first');
var createContent = $em[0].nextSibling.nodeValue.trim();
И, наконец, мы сравниваем, что содержимое равно '-'.Вы можете увидеть полный код ниже.
<table>
<tr>
<td>
<em class='block'>Create Events:</em> here is something else and this line should not get removed
<hr />
<em class='block'>Update Events:</em> -
<hr />
<em class='block'>Required object:</em>
</td>
</tr>
<tr>
<td>
<em class='block'>Create Events:</em> -
<hr />
<em class='block'>Update Events:</em> -
<hr />
<em class='block'>Required object:</em>
</td>
</tr>
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('table tr').each(function(i, tr) {
var $em = $(tr).find('td em:first');
var createContent = $em[0].nextSibling.nodeValue.trim();
if (createContent === '-') {
$(tr).remove();
}
});
});
</script>
Вы можете проверить документацию каждого jQuery здесь .