javascriptまたはjQueryを使用して、WebページのTD要素内のテキスト内のシーケンスASCII 13 ASCII 10-(CRLFDASHまたは/r/ n-)を置き換えるにはどうすればよいですか?スタックオーバーフローや他の場所でもこれについて同様の質問がありますが、リストされているソリューションはこの特定のシナリオでは機能しません。着信HTMLは、変更されない顧客のレガシーソフトウェアによって動的に生成されますが、変更可能なjavascriptファイルを参照します。このページの短縮版を以下に示します。実際のページには、0〜20行のデータが含まれ、その一部には複数の行が含まれています。私のユーザーはInternetExplorer8を使用していて、以下の2行のどちらも機能していません。キャリッジリターンを交換し、ラインフィードを交換してみました。私はこれをjavascriptとjQueryから試しましたが、目に見える効果はありません。Internet Explorer 8からページを保存し、16進エディターで表示すると、改行文字と改行文字がクライアントに表示されます。問題の核心は、テキスト内の/nをJavaScriptに公開することです。
シーケンス/r/ n-が要素のページに存在するときはいつでも、表示された出力に2行のテキストを表示したいので、この置換を実行したいと思います。
置換の2つのバージョン、1つはjQuery、もう1つはJavaScriptが含まれていることに注意してください。私がやりたいこともしません。
<html>
<head>
<title>Page Testing </title>
<script src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('td').each(function () {
$this = $(this);
$this.html($this.html().replace(/\r\n\-/g, "<br/>-"));
this.innerHTML = (this.innerHTML.replace(/\r\n\-/g, "<br/>-"));
});
});
</script>
</head>
<body>
<table>
<tbody>
<tr>
<td>-First Content
-Second Line of Content</td>
<td>-How I want it to look<br/>-After the transformation</td>
</tr>
</tbody>
</table>
</body>
</html>