4

私がこれを持っているとしましょう。

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

$(somediv).text().lengthレンダリングされたビューではなく、エンコーディングをカウントしていると思います。文字列が長すぎる場合は切り捨てを行っていますが、一部の文字列 (動的) には( & の代わりに) が含まれている可能性があるため、エンコードされたビューではなく、レンダリングされたビュー&amp;の合計テキストを適切にカウントするにはどうすればよいですか?div

4

2 に答える 2

3

length&amp;と類似の文字を 1 文字として数えます。混乱を引き起こしている可能性があるのは、文字列の前後に空白もあるということです。トリミングすると、それが正しいことがわかります。

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 に答える