4

可以说我有这个。

<div id="somediv"> 
hello, my friend&#39;s &amp; dog are good friends!
</div>

我认为这$(somediv).text().length是计算编码而不是渲染视图。如果字符串太长,我会对字符串进行一些截断,并且因为某些字符串(动态)可能有&amp;(而不是 & ),我如何正确计算 adiv在其渲染视图中的总文本,而不是编码视图?

4

2 回答 2

3

length将把&amp;和相似的字符计为一个字符。可能导致混乱的是,您还将在字符串之前和之后获得空格。如果你修剪它,你会发现它是正确的。

http://jsfiddle.net/u3byj/

$.trim($(somediv).text()).length
于 2012-04-13T18:56:40.710 回答
0

如果没有可用的 jQuery,您可以执行以下操作:

innerHTML.replace(/&(#x?[0-9a-f]+|[a-z]+);/gi,"X").length;
于 2012-04-13T19:01:13.967 回答