2012-08-10 4 views
15

इसjQuery पाठ(), व्याख्या <br> के रूप में नई लाइन

$('#id').content().text(); 

समस्या की तरह डोम का एक तत्व हो रही

साथ पैदा होती है एचटीएमएल जैसा दिखता है:

Hello 

World 

लेकिन यह jquery .text() विधि रिटर्न: हैलोवर्ल्ड

<br> नई लाइन के रूप में कैसे व्याख्या करें? < -> पाठ को बिल्कुल ठीक कैसे प्राप्त करें जैसा कि मैं इसे HTML में देखता हूं?

.html() सभी HTML टैग, जो मैं नहीं चाहता हूं देता है। यदि संभव हो तो मुझे रिक्त स्थान के साथ सादे पाठ की आवश्यकता है।

उत्तर

20

.text() फ़ॉर्मेटिंग के बिना सादा पाठ है। यह सचमुच टेक्स्ट नोड्स के किसी अन्य HTML कोड के बिना संगतता है (जिसमें नई लाइनें शामिल हैं जिन्हें <br> या <p> टैग द्वारा दर्शाया गया है, न कि नई लाइनों द्वारा)।

.html() एक कंटेनर टैग का सटीक HTML है।

आप इस का उपयोग करते हैं, यह आप अपने पाठ का अनुमान नई लाइनों के साथ मिल जाएगा:

var item = document.getElementById("id"); 
var text = item.innerText || item.textContent; 

यह ब्राउज़र संगतता मुद्दों के कारण .textContent और .innerText दोनों को देख रहा है।

कार्यशील डेमो के लिए http://jsfiddle.net/jfriend00/Xs5P3/ देखें।

"एचटीएमएल टू टेक्स्ट रूपांतरण" के लिए Google खोज जांच के लिए बहुत सारे विकल्प प्रदान करता है।

+0

क्या ऐसा करने का कोई आसान तरीका है? (न्यूलाइन एचटीएमएल टैग के अलावा सभी को खत्म करें) – jacktrades

+0

@jacktrades - मैंने अपने उत्तर में एक विकल्प जोड़ा जो काम करने लगता है। – jfriend00

+0

बस ध्यान दें कि आंतरिक टेक्स्ट या टेक्स्ट सामग्री
टैग को न्यूलाइन के रूप में नहीं समझ पाएगी। वह पहेली न्यूलाइन दिखाती है क्योंकि उस div के अंदर वास्तविक न्यूलाइन हैं। Fiddles एचटीएमएल स्रोत में newlines निकालें और परिणाम आप उम्मीद नहीं करेंगे। – eferrari

संबंधित मुद्दे