1

我有一个这样的 HTML:

<table id="mytable">
<tr>
<td>      

Name: 
Rica

Lastname: 
Florentino 

Amount: 
3,000 
</td>
</tr>
</table>

我怎样才能按原样显示它?输出似乎将换行符转换为空格。我得到的输出是:

Name: Rica Lastname: Florentino Amount: 3,000 

它应该是:

Name: 
Rica

Lastname: 
Florentino 

Amount: 
3,000 
4

4 回答 4

5

好吧,你可以<br>在两者之间添加

<table id="mytable">
<tr>
 <td>      
   Name: 
   Rica
    <br>
   Lastname: 
   Florentino 
    <br>
   Amount: 
   3,000 
 </td>
</tr>
</table>

或者用css管理

更新

$(function(){
  $('#mytable td').css({'white-space': 'pre-line'});
});

小提琴

于 2013-10-21T07:13:09.493 回答
1

作为手动插入<br>元素的替代方法,您可以使用 CSS 来执行此操作:

<table id="mytable">
<tr>
 <td style="white-space: pre-line;">      
   Name: 
   Rica

   Lastname: 
   Florentino 

   Amount: 
   3,000 
 </td>
</tr>
</table>

请参阅jsFiddle。此外,您可能希望阅读有关该white-space物业的更多信息。

如果您有多个单元格,我建议使用样式表而不是style元素。

于 2013-10-21T07:16:17.187 回答
0

你听说过换行符吗??

<br />

将创建一个 html 换行符。任何时候你想换行时插入这个;)

如果一切都失败了,您可以使用预先格式化的文本:

<pre>
  Your text: 
  Lorem Ipsum
</pre>

这只会将您的格式化文本以代码中的方式转储到浏览器中。大多数情况下,默认浏览器样式表中都有与之关联的不同字体。

鉴于您有一些 CSS,您可以按如下方式清除该浏览器样式表:

*{
 /* selects all elements */
 /* insert your default stuff here */
 }

要更改元素的 html 内容,.html()
请在页面加载时调用此行一次,它应该pre在表格单元格的开头和结尾插入 -tags

$('#mytable tr td').html("<pre>" + $('#mytable tr td').html() + "</pre>")

无论哪种方式都可能难以维护格式,因为有时您生成的 html 在发送到客户端之前会进行优化。这意味着您可能已经丢失了代码中的格式。

相反,您应该尝试在服务器端更改 html 生成并在那里使用换行标记。

于 2013-10-21T07:14:28.933 回答
0

放 br 标签

    <table id="mytable">
     <tr>
    <td>      

      Name: 
     <br>
     Rica
     <br>
     Lastname: 
     <br>
      Florentino 
      <br>

      Amount: 
      <br>
      3,000 
     </td>
   </tr>
    </table>

这是小提琴

于 2013-10-21T07:15:26.230 回答