javascript - JQuery 将文本替换为
JQuery用嵌套表中的
问题描述
我有一点 Jquery,它用标签替换了我的 XSL 呈现的网页上的所有换行符实例:<br />
$("#ResultsPane td").each(function() {
var text = ""
text = $(this).text().replace(/newline/g, "<br />");
});
我不得不更新输出以使用嵌套表:-
<td colspan="4">
<table>
<tbody>
<tr>
<td style="text-align: left; padding: 8px;width:70px;vertical-align:top;">08:10 - 12:30 newline
13:30 - 17:10 newline </td>
<td style="text-align: left; padding: 8px;vertical-align:top;">
20 newline
20 newline </td>
<td style="text-align: left; padding: 8px;vertical-align:top;">
Artesian Building newline
Artesian Building newline </td>
<td style="text-align: left; padding: 8px;border-right:2px solid #000;vertical-align:top;"></td>
</tr>
</tbody>
</table>
</td>
然而,最终结果是,当 Jquery 脚本运行时,所有嵌套表都被转换为纯文本节点。
谁能帮我解决这个问题?
解决方案
您的代码不起作用,因为您没有保存更改。您也
可以使用.html( function )
而不是.each()
$("#ResultsPane td").html(function(i, h){
return h.replace(/newline/g, "<br />");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="ResultsPane">
<tr><td colspan="4">
<table>
<tbody><tr>
<td style="text-align: left; padding: 8px;width:70px;vertical-align:top;">08:10 - 12:30 newline
13:30 - 17:10 newline </td>
<td style="text-align: left; padding: 8px;vertical-align:top;">
20 newline
20 newline </td>
<td style="text-align: left; padding: 8px;vertical-align:top;">
Artesian Building newline
Artesian Building newline </td>
<td style="text-align: left; padding: 8px;border-right:2px solid #000;vertical-align:top;"></td>
</tr>
</tbody></table>
</td>
</tr>
</table>
推荐阅读
- automationanywhere - 如何在任何地方选择自动化中的多个复选框
- javascript - nodemailer 似乎没有响应
- jquery - jQuery 验证在第二遍时不起作用
- node.js - 如何在 Linux Ubuntu 中将 NodeJS 应用程序作为 cronjob 运行?
- jquery - 使用 jQuery 在 JSON 中搜索嵌套列表
- unity3d - Unity - 手臂旋转和翻转、身体翻转和射击的问题 - 2d 射手
- android - 以智能方式排除基于风味的 JNI 库
- algorithm - Donald Knuth 的 MIX 计算机
- java - 如何处理 Cassandra 中的竞争条件?
- npm - 更改全局包的位置