jQuery text()と改行について
と言えるようになりたい。
$(someElem).text('this\n has\n newlines);
で、ブラウザでは改行された状態でレンダリングされます。私が見つけた唯一の回避策は、someElemのcssプロパティ 'white-space' を 'pre' に設定することでした。これはほとんど機能しますが、paddingを0に設定しても、テキストとsomeElemの上部の間に迷惑なほど大きなpaddingが発生します。これを取り除く方法はありますか?
107
8
2015年です。 この時点でこの質問に対する正解は、CSSの「空白:プレライン」または「空白:プレラップ」を使用することです。 清潔でエレガント。 ペアをサポートするIEの最低バージョンは8です。
https://css-tricks.com/almanac/properties/w/whitespace/。
追伸< s> CSS3が一般的になるまで< / s>おそらく、初期および/または後続の白いスペースを手動で切り取る必要があります。
jQueryオブジェクトを変数に保存すると、次のことができます。
。
。
必要に応じて、jQuery.text()が行うように、単純な呼び出しでこれを行う関数を作成することもできます。
。
。
私が使っているのはこちらです。
または、
.html
を使用し、<pre>
タグでwrapしてみてください。text
の代わりに[
html][1]を使用し、
nの各出現箇所を
`で置き換えることができます。ただし、テキストを正しくエスケープする必要があります。
.html()
で置き換えると、文字列内の他のHTMLタグも置き換えられるため、someElem
要素を直接操作することをお勧めします。これが私の機能です。
呼んで:
CSSホワイトスペースプロパティを使用することがおそらく最良のソリューションです。 FirebugまたはChrome Developer Toolsを使用して、表示されていた追加のパディングのソースを識別します。
これを試して: