从ElementRef获取文本?

时间:2018-04-19 22:53:17

标签: angular angular5

这样的感觉应该是一个非常基本的问题......

我正在使用一个插件返回一个不可见/呈现的DOM节点/元素。我可以轻松地将它转换为ElementRef,并正确填充nativeElement。

如何获取元素的文本?

我知道AngularJS,我会做angular.elem(node).text()

1 个答案:

答案 0 :(得分:5)

要获取元素的文本内容,请使用textContentinnerText属性:

elementRef.nativeElement.textContent
elementRef.nativeElement.innerText

this stackblitz中显示了一个示例。

以下是the MDN documentation中给出的一些差异:

  
      
  • 虽然textContent获取所有元素的内容,包括<script><style>元素,但innerText却没有。
  •   
  • innerText知道样式,不会返回隐藏元素的文本,而textContent会。
  •   
  • 由于innerText知道CSS样式,它会触发重排,而textContent则不会。
  •   
  • 与textContent不同,在Internet Explorer中更改innerText(最高版本为11)不仅会从元素中删除子节点,   但也永久地破坏所有后代文本节点(所以它是   无法再将节点插入任何其他元素或插入   相同的元素了。)
  •