在html中,如何计算innerHTML中显示的真实字符?
例如,在 中<strong>Hi</strong>,字符数应为 2,而不是 19。
我尝试过2种方法均无效:
str.length- 这将包括<>角色。getElementById- 这将包括<>字符:我尝试如下:
elem_output = document.getElementById("example_id");
elem_output.innerText.length;//1st
elem_output.textContent.length;//2nd
Run Code Online (Sandbox Code Playgroud)
我不知道#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)