我有一些Jquery,它用<br />
标签替换了XSL呈现的网页上所有 newline 实例:
$("#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脚本时,所有嵌套表都将转换为纯文本节点。
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
您的代码无效,因为您没有保存更改。还
您可以使用.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>