Javascript $(someelement).text()。长度和字符编码计数?

Javascript $(someelement).text()。长度和字符编码计数?,javascript,jquery,Javascript,Jquery,假设我有这个 <div id="somediv"> hello, my friend&#39;s &amp; dog are good friends! </div> 你好,我的朋友';标准普尔;狗是好朋友! 我认为$(somediv.text().length计算的是编码,而不是渲染视图。如果字符串太长,我会对其进行截断,因为某些字符串(动态)可能有&(而不是&),如何在呈现视图而不是编码视图中正确计算div中的总文本数和类似字符作为

假设我有这个

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

你好,我的朋友';标准普尔;狗是好朋友!

我认为
$(somediv.text().length
计算的是编码,而不是渲染视图。如果字符串太长,我会对其进行截断,因为某些字符串(动态)可能有
&
(而不是&),如何在呈现视图而不是编码视图中正确计算
div中的总文本数和类似字符作为单个字符。可能导致混淆的是,字符串前后也会出现空白。如果你修剪它,你会发现它是正确的


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

innerHTML.replace(/&(#x?[0-9a-f]+|[a-z]+);/gi,"X").length;

&=5个字符。这就是为什么它把它算作5个字母。这就是我想要的。好的,那么text()。在我看来,通过计算&;作为1个字符(渲染)。好啊酷。谢谢大家看看这个@Derek
&将呈现为
&
,在
.text()中,其长度将计为1
innerHTML.replace(/&(#x?[0-9a-f]+|[a-z]+);/gi,"X").length;