Javascript - 从 ".innerHTML"结果中删除某些字符串

标签 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>

是否有可能过滤掉这些类型的值?对于上面的第二个和第三个示例,其中的类会经常更改:

  1. 是否可以过滤并删除所有_ngcontent-c1=""文本
  2. 是否可以过滤并删除所有 ng-reflect-klassng-reflect-ng-class ,包括以下左引号和右引号(以删除里面)

最佳答案

好的,那么属性是不变的,但属性的值会改变?如果是这样,您可以尝试以下操作:

.replace(/ng-reflect-klass=\".?\"/,"").replace(/ng-reflect-ng-class=\".?\"/,"").replace(/_ngcontent-c1=\".*?\"/,"")

var content = 'stuff<div ng-reflect-klass="panel album"></div><div ng-reflect-ng-class="blue"></div><div _ngcontent-c1=""></div>end stuff';

console.log(content.replace(/ng-reflect-klass=\".*?\"/g,"").replace(/ng-reflect-ng-class=\".*?\"/g,"").replace(/_ngcontent-c1=\".*?\"/g,""));

查看控制台查看结果。

关于Javascript - 从 ".innerHTML"结果中删除某些字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54461907/

相关文章:

javascript - 在react-native无状态组件中格式化多个props

javascript - 如何为RESTful Web应用程序实现身份验证?

javascript代码不再改变字体颜色

javascript - Angular 页面挂起可能是由于内存使用率过高

javascript - 使用 INPUT 标签的 VALUE 属性(及其值)读取 HTML 表单的 innerHTML

JavaScript:Unicode 空格字符

php - 我如何使用javascript在动态表中添加动态下拉选择

javascript - 从 Javascript 函数创建一个 div (innerHTML)

Javascript (object.innerhtml) 与 IE 不兼容

javascript - ngram 的数据结构