17

このようなDOMの要素を取得する

$('#id').content().text();

問題が発生します

これを取得した場合:

<p>Hello</p>
<p><br></p>
<p>World</p>

当然、Html では次のようになります。

Hello 

World

しかし、この jquery.text()メソッドは HelloWorld を返します。

<br>新しい行として解釈する方法は? <-> HTML で表示されているテキストを正確に取得するにはどうすればよいですか?

.html()私が望んでいないすべてのHTMLタグを提供します。可能であれば、スペースを含むプレーンテキストが必要です。

4

1 に答える 1

22

.text()フォーマットなしのプレーンテキストです。<br>これは文字通り、他の HTML コード (改行ではなくまたは<p>タグで表される改行を含む) を含まないテキスト ノードの連結です。

.html()コンテナ タグの正確な HTML です。

これを使用すると、新しい行でテキストの近似値が得られます。

var item = document.getElementById("id");
var text = item.innerText || item.textContent;

ブラウザの互換性の問題により、両方.textContentを見ています。.innerText

実際のデモについては、 http://jsfiddle.net/jfriend00/Xs5P3/を参照してください。

「HTML からテキストへの変換」を Google で検索すると、調査する多くのオプションが表示されます。

于 2012-08-10T16:48:07.543 に答える