为了账号安全,请及时绑定邮箱和手机立即绑定

Typescript:用 id 属性替换字符串并附加 HTML 标签

Typescript:用 id 属性替换字符串并附加 HTML 标签

紫衣仙女 2024-01-18 16:12:23
我需要将字符串替换为 HTML 标记并具有 id 属性。这是我的代码,TS 文件:let content = "this is a car.";content.replace(new RegExp('car'), match => {    return `<span class="highlight-text" id="car"> + match +</span>`;});<div [innerHTML]="content"></div>在检查元素时它仅显示类,<div>    <span class="highlight-text">car</span></div>为什么它没有在span标签中添加ID属性?
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

id 字段在 DOM 清理过程中被 Angular 消除。要在innerHTML中添加id字段,您必须明确告诉Angular,解析此HTML内容是安全的。您可以通过以下方式实现:


let oldContent = "this is a car.";

oldContent.replace(new RegExp('car'), match => {

    return `<span class="highlight-text" id="car"> + match +</span>`;

});

let content = this.sanitizer.bypassSecurityTrustHtml(content)

其中,sanitizer 是 DOMSanitizer 的实例,应将其注入构造函数中。


constructor(private sanitizer: DomSanitizer) { }


查看完整回答
反对 回复 2024-01-18
?
哔哔one

TA贡献1854条经验 获得超8个赞

替换返回修改后的内容。


let content = "this is a car.";

content = content.replace(new RegExp('car'), match => {

    return `<span class="highlight-text" id="car">${match}</span>`;

});

console.log(content)


查看完整回答
反对 回复 2024-01-18
  • 2 回答
  • 0 关注
  • 33 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信