Прежде всего, это не AfterContentChecked
. Значение должно быть ngAfterContentChecked
.
Но используйте ngAfterViewInit
ловушку жизненного цикла вместо ngAfterContentChecked
для вашей реализации. Добавьте id
свойство к table
и используйте getElementById
вместо getElementsByTagName
. Не устанавливайте table-responsive
класс сразу. Сначала создайте элемент div
, затем добавьте class
.
HTML
<div>
<table id="table" class="table">
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Country</th>
</tr>
</thead>
<tbody>
<tr>
<td>Sudarshana</td>
<td>Sri Lanka</td>
</tr>
</tbody>
</table>
</div>
TS
ngAfterViewInit() {
this.el = document.getElementById('table');
this.wrapper = document.createElement('div');
this.wrapper.classList.add('table-responsive');
this.el.parentNode.insertBefore(this.wrapper, this.el);
this.wrapper.appendChild(this.el);
}
Демонстрация StackBlitz