javascript - 无法将 HTML 结构包裹在元素周围
问题描述
我想获取带有table
标签的所有元素并在其周围包装一个 HTML 结构,以便表格应该具有响应性,但由于某种原因它无法正常工作。你能告诉我我做错了什么以及为什么它不起作用吗?
AfterContentChecked() {
this.el = document.getElementsByTagName('table');
this.wrapper = document.createElement('div.table-responsive');
this.el.parentNode.insertBefore(this.wrapper, this.el);
this.wrapper.appendChild(this.el);
}
解决方案
首先它不是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);
}
推荐阅读
- python - 是否可以使用 Catboost 在 Python 中导出 MultiClassification 模型?
- zooming - geoJson 的粘性缩放
- ajax - 当 AJAX 请求完成时,如何触发 amp-analytics 请求?
- javascript - 如何将带有 require 语句的本地脚本注入 Puppeteer 页面
- php - 如何使用 PHP 将 reCAPTCHA v2 添加到现有表单?
- c# - 我真的很难通过 Oculus VRC TestSubmitWhenNotVisible 测试
- c - 如何在 EFI 图形模式下使用文本?
- git - 有没有办法仅将另一个 repo 的 master 镜像到非 master 分支?
- python - Pandas - AttributeError:“NoneType”对象没有属性“管道”
- linux - zip 在终端中有效,但在脚本中无效?