2015-11-19 87 views
2

我有一個div:保持文本格式不包含HTML標籤

<div class="container"> 
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed 
    do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
    <br><br> 
    Ut enim ad minim veniam, quis nostrud exercitation ullamco 
    laboris nisi ut aliquip ex ea commodo consequat. 
    <br><br> 
    Duis aute irure dolor in reprehenderit in voluptate velit 
    esse cillum dolore eu fugiat nulla pariatur. 
</div> 

如果我使用:

MyInfo = $(".container").html(); 

我得到的所有html/n, /t, <br><br>等。

如果我改用:

MyInfo = $(".container").text(); 

所有格式將被丟棄。 有什麼辦法來保留原來的格式(但drop html tags,不使用replace),因此輸出看起來類似的東西:

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed 
do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
Ut enim ad minim veniam, quis nostrud exercitation ullamco 
laboris nisi ut aliquip ex ea commodo consequat. 
Duis aute irure dolor in reprehenderit in voluptate velit 
esse cillum dolore eu fugiat nulla pariatur. 

謝謝!

+2

文本不神奇格式化。您需要HTML才能保留該格式 –

+0

@SterlingArcher是的,但有沒有任何方法可以保持沒有html標籤的格式? – user1665355

+0

取代所有<*>與''我猜.... – ahervin

回答

2

使用innerText。 jQuery text()刪除換行符和所有格式。

HTML(注意添加id到您的div):

<div id="containertext" class="container"> 
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed 
    do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
    <br><br> 
    Ut enim ad minim veniam, quis nostrud exercitation ullamco 
    laboris nisi ut aliquip ex ea commodo consequat. 
    <br><br> 
    Duis aute irure dolor in reprehenderit in voluptate velit 
    esse cillum dolore eu fugiat nulla pariatur. 
</div> 

的Javascript:

alert(document.getElementById("containertext").innerText); 

產量:

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

工作的jsfiddle:http://jsfiddle.net/Lsz34509/

請記住,它不會完全保留空白(例如在第一行上的, sed do之間),但會強制執行<br>換行符。在innerText使用

酷參考:http://perfectionkills.com/the-poor-misunderstood-innerText/

+0

好的,謝謝,但我在'node.js'中使用它,所以我不確定''document.getElementById'能在node.js中工作嗎? – user1665355

+0

@ user1665355這是原始的JavaScript,所以它會工作。 –

+0

不,它崩潰了:'ReferenceError:document is not defined'。我用'cheerio' – user1665355

相關問題