innerHTML 中的字符计数

Cha*_*Zha 3 html javascript

在html中,如何计算innerHTML中显示的真实字符?

例如,在 中<strong>Hi</strong>,字符数应为 2,而不是 19。

我尝试过2种方法均无效:

  1. str.length- 这将包括<>角色。
  2. getElementById- 这将包括<>字符:

我尝试如下:

elem_output = document.getElementById("example_id"); 
elem_output.innerText.length;//1st
elem_output.textContent.length;//2nd
Run Code Online (Sandbox Code Playgroud)

Jor*_*bot 5

我不知道#example_id您的代码中有哪个元素,但element.innerText.length应该可以工作。

编辑:其他答案建议使用textContent代替innerText。我认为根据OP的实际需求,其中之一(甚至innerHTML出现在问题标题中的)可能是合适的。因此,我建议仔细阅读文档中这些属性之间的差异:

编辑2:OP的问题说innerHTML中显示的真实字符,所以我会选择innerText

innerText知道样式并且不会返回隐藏元素的文本,而textContentwill.

var tag = document.getElementById('test');
console.log(tag.innerText.length)
Run Code Online (Sandbox Code Playgroud)
<strong id="test">Hi</strong>
Run Code Online (Sandbox Code Playgroud)