केवल जावास्क्रिप्ट (कोई jQuery) का उपयोग करके एक div टैग का पाठ कैसे प्राप्त कर सकते हैं


92

मैंने यह कोशिश की लेकिन "अपरिभाषित" दिखा।

function test() {
var t = document.getElementById('superman').value;
alert(t); }

क्या कोई आसान जावास्क्रिप्ट जावास्क्रिप्ट का उपयोग कर मूल्य प्राप्त करने का कोई तरीका है कृपया!

जवाबों:


162

आप शायद textContentइसके बजाय कोशिश करना चाहते हैं innerHTML

यह देखते हुए innerHTMLकि डोम सामग्री वापस आ जाएगी Stringऔर विशेष रूप से "पाठ" में नहीं div। यह ठीक है कि यदि आप जानते हैं कि आपके divलेख में केवल पाठ है लेकिन उपयुक्त नहीं है तो हर उपयोग के मामले में। उन मामलों के लिए, आपको संभवतः textContentइसके बजाय उपयोग करना होगाinnerHTML

उदाहरण के लिए, निम्नलिखित मार्कअप पर विचार:

<div id="test">
  Some <span class="foo">sample</span> text.
</div>

आपको निम्न परिणाम मिलेगा:

var node = document.getElementById('test'),

htmlContent = node.innerHTML,
// htmlContent = "Some <span class="foo">sample</span> text."

textContent = node.textContent;
// textContent = "Some sample text."

अधिक विवरण के लिए MDN देखें:


.textContentIE8 और निम्न में समर्थित नहीं है, जो इसे उपयोग करने के लिए कुछ हद तक कठिन बनाता है।
ब्लेंडर

2
सच। Indead, innerHTMLकेवल पाठ सामग्री वापस नहीं करता जैसा कि प्रश्न में अनुरोध किया गया है। मैं .textContent
20 IE में

4
हालांकि एक पुराना सवाल, .textContent आज की दुनिया के लिए अधिक उपयुक्त उत्तर है।
डोनोवन

यह मुझे बहुत अधिक मदद करता है। आपका बहुत बहुत धन्यवाद।
22

9

क्योंकि textContentIE8 और पुराने में समर्थित नहीं है, यहाँ एक समाधान है:

var node = document.getElementById('test'),
var text  = node.textContent || node.innerText;
alert(text);

innerText IE में काम करता है।


0

आप innerHTML(तब HTML से पाठ को पार्स) या उपयोग कर सकते हैं innerText

let textContentWithHTMLTags = document.querySelector('div').innerHTML; 
let textContent = document.querySelector('div').innerText;

console.log(textContentWithHTMLTags, textContent);

innerHTMLऔर IE6innerText सहित सभी ब्राउज़र (FireFox <44 को छोड़कर) द्वारा समर्थित है ।


0

वास्तव में आपको document.getElementById()अपनी पहुँच प्राप्त करने के लिए फ़ंक्शन को कॉल करने की आवश्यकता नहीं है div

आप इसे objectसीधे उपयोग कर सकते हैं id:

text = test.textContent || test.innerText;
alert(text);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.