让我说我有这个。
<div id="somediv">
hello, my friend's & dog are good friends!
</div>
我认为$(somediv).text().length
正在计算编码而不是渲染视图。我正在对字符串进行一些截断,如果它太长,并且因为某些字符串(动态)可能有&
(而不是&amp;),我如何正确计算{{1}中的总文本数在它的渲染视图中,不是编码视图?
答案 0 :(得分:3)
length
将&
和类似字符计为单个字符。可能导致混乱的原因是你还会在字符串之前和之后获得空格。如果你修剪它,你会发现它是正确的。
$.trim($(somediv).text()).length
答案 1 :(得分:0)
如果没有jQuery可用,您可以执行以下操作:
innerHTML.replace(/&(#x?[0-9a-f]+|[a-z]+);/gi,"X").length;