javascript - Javascript - 从“.innerHTML”结果中去除某些字符串
问题描述
我有一个在单击按钮时运行的功能。此函数将获取某个元素内的所有 HTML。这很好用。但是,我想在我的函数中进一步使用它之前清理返回的字符串(HTML):
exportHTML(){
const element = document.getElementById('content');
const innerHTML = element.innerHTML;
}
这行得通。但是由于使用 Angular,Angular 语法会根据源代码中的条件包含在 HTML 中。例如:
<div _ngcontent-c1=""></div>
或者
<div ng-reflect-klass="panel album"></div>
<div ng-reflect-ng-class="blue"></div>
是否有可能过滤掉这些类型的值?关于上面的第二个和第三个示例,其中的类会经常更改:
- 是否可以过滤并删除所有_ngcontent-c1=""文本
- 是否可以过滤并删除所有ng-reflect-klass和ng-reflect-ng-class包括以下打开和关闭引号(以删除里面的内容)
解决方案
You could do it with RegExp
const innerHTML = element.innerHTML.replace(/ (_ngcon|ng-).*?".*?"/g, '');
(_ngcon|ng-)
find_ngcon
orng-
including space as first character.*?"
match everything until first"
.*?"
and match everything again for the closing"
推荐阅读
- pytorch - `*** RuntimeError: mat1 dim 1 must match mat2 dim 0` 每当我运行模型时(图片)
- php - 不能在 centOS7 中安装 NGINX
- bash - 如何在不使用 find 命令的情况下递归循环文件并在 bash 中添加从某个文件名派生的数据?
- python - 基于列和行值组合两个熊猫数据框
- python - Leetcode 问题 #845 数组中最长的山
- elasticsearch - 如何在 Elastic Search 动态模板中做条件字段?
- azure - Azure IoT Edge 对设备孪生中的 JSON 数组的支持
- language-server-protocol - 我无法为 javascript 和 html 激活 NVIM 的内置 LSP
- bash - Dockerfile - Multiple processes - How to introspect GraphQL schema?
- macos - 如何使用 Homebrew 在我的 Mac 上恢复到 Python3.8?