如何使用 javascript 或 jQuery 替换网页中 TD 元素内的文本中的序列 ASCII 13 ASCII 10 - (CR LF DASH 或 /r/n-)?在 stackoverflow 和其他地方也有类似的问题,但列出的解决方案不适用于这种特定情况。传入的 HTML 是由我的客户的一个不会更改的旧软件动态生成的,但它引用了一个我可以更改的 javascript 文件。下面给出了该页面的简化版本。实际页面包含零到二十行数据,其中一些包含多行。我的用户在 Internet Explorer 8 上,以下两行都不起作用。我试过只替换回车并替换换行符。我已经从 javascript 和 jQuery 尝试过这个,没有任何明显的效果。当我从 Internet Explorer 8 保存页面并在十六进制编辑器中查看它时,客户端中存在回车符和换行符。问题的症结在于将文本中的 /n 暴露给 JavaScript。
我想执行此替换,因为我希望在元素页面中存在序列 /r/n- 的任何时候,两行文本都出现在显示的输出中。
请注意,我已经包含了两个版本的替换,一个 jQuery 和一个 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>