0

我正在 div 的 innerHTML 中搜索一个字符串,并希望设置一个跨度。我的方法没有任何错误是行不通的。怎么了?

HTML

<div class="resultText" #txt></div>

JS

...
@ViewChild('txt') txt: ElementRef;
...
this.txt.nativeElement.innerHTML = text;
...
var query = 'test';
this.highlight(query);

highlight(query) {
      var c = this.txt.nativeElement.innerHTML;
      c.replace(new RegExp(query, "gi"), match => {
          console.log('query: ' + query);
          return '<span class="highlightText">' + match + '</span>';
      });
}
4

1 回答 1

1

您没有将替换的文本分配回innerHTML

this.txt.nativeElement.innerHTML = c.replace(new RegExp(query, "gi"), match => {
      console.log('query: ' + query);
      return '<span class="highlightText">' + match + '</span>';
});
于 2018-12-10T19:17:51.613 回答