2017-06-14 56 views
-2

我有我的頁面與新線的「鑰匙」(@ N)一文中,我必須改變「鑰匙」作爲一個新行,且該文本添加到我的股利。我沒有找到如何:將文本添加到div。新線

var original= "the text @n to change"; 
 
var changed = original.replace(/@n /g, '\n '); 
 

 
$('#theText').text(changed)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div id="theText"> 
 

 
</div>

我怎樣才能做到這一點?

+0

HTML 101:換行符凝結成一個單一的白色空間,任何「正常」的情況。您需要使用默認處理文本內容不同的元素(例如'pre'),或者您需要將必要的CSS應用於div,以使其對比通常不同。 – CBroe

回答

0

在HTML正常換行不會在大多數情況下工作。請使用<br />標籤。

您的代碼,更新:

var original= "the text @n to change"; 
 
var changed = original.replace(/@n /g, '<br />'); 
 

 
$('#theText').html(changed)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div id="theText"> 
 

 
</div>

你必須使用.html()添加文本。

安全注意:通過使用html()您的網站可能受到跨站點腳本威脅說,如果用戶可以修改要顯示的文字。


另外,您還可以使用<pre>標籤或white-space: pre; CSS attribte。

0

相反的\n,你可以使用<br />和替代text(),你將不得不使用html()

var original= "the text @n to change"; 
 
var changed = original.replace(/@n /g, '<br /> '); 
 

 
$('#theText').html(changed)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div id="theText"> 
 

 
</div>

0

我想,如果你以.html(做)和它會工作

var original= "the text @n to change"; 
 
var changed = original.replace(/@n /g, '<br />'); 
 

 
$('#theText').html(changed)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div id="theText"> 
 

 
</div>