質問

divのinnerTextをソースの改行で分割しようとしています。これは以下でうまく機能します:

$('div').text().split("\r\n|\r|\n")

ただし、IE 7では改行が削除されているため、これは失敗します。私も両方を試したので、jQuery 1.3.2は故障しているようには見えません:

$('div')[0].innerText.split("\r\n|\r|\n")

and

$('div')[0].innerHTML.split("\r\n|\r|\n")

divをpreに変更しても、上記のいずれも機能しません。

ソースがDOMに解析されると、改行が表示されます。 :(これはそうですか?javascriptでそれらを取得する方法はありませんか?

役に立ちましたか?

解決

改行は空白であり、通常は保持されません。スペースと同じ意味です。

他のヒント

" \ r \ n" ではなく、" \ n" で分割を試みます。

両方を行うには、パターン" \ r?\ n" で分割することを検討してください。

IEは、以下を除き、要素コンテンツの改行を失います:

  • pre (および plaintext 、今世紀に使用されたものではない)
  • textarea には、独自の文字カウントメカニズムにカウントされない偽の‘ \ r’ sも追加されます

ただし、それにもかかわらず、これは機能しません:

  

split(" \ r \ n | \ r | \ n")

JavaScriptのString.splitは、Javaとは異なり、正規表現パターンではなく、単純な区切り文字列を取ります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top