मैंने सुना है कि el.innerText||el.textContent
का उपयोग कर अविश्वसनीय परिणाम प्राप्त हो सकते पुन: प्राप्त करने बनाम, और यही कारण है कि मैं हमेशा अतीत में निम्नलिखित फ़ंक्शन का उपयोग करने पर जोर दिया गया है:innerText/textContent प्रत्येक पाठ नोड
function getText(node) {
if (node.nodeType === 3) {
return node.data;
}
var txt = '';
if (node = node.firstChild) do {
txt += getText(node);
} while (node = node.nextSibling);
return txt;
}
इस समारोह किसी तत्व के भीतर सभी नोड्स के माध्यम से जाता है और सभी टेक्स्ट नोड्स का पाठ एकत्र करता है, और वंश के भीतर पाठ:
ईजी
<div id="x">foo <em>foo...</em> foo</div>
परिणाम:
getText(document.getElementById('x')); // => "foo foo... foo"
मैं काफी यकीन है कि वहाँ innerText
और textContent
उपयोग करने के साथ मुद्दे हैं, लेकिन मैं कहीं भी एक निश्चित सूची ढूँढने में सक्षम नहीं किया गया है और मैं शुरू कर रहा हूँ आश्चर्य है कि यह सिर्फ हैर्स है।
क्या कोई भी टेक्स्ट सामग्री/आंतरिक टेक्स्ट की संभावित विश्वसनीयता की कमी के बारे में कोई जानकारी प्रदान कर सकता है?
संपादित: Kangax द्वारा इस महान जवाब मिला - 'innerText' works in IE, but not in Firefox
इतना आसान और बहुत उपयोगी! '3' के बजाय' document.TEXT_NODE' के बारे में कैसे? क्या यह पुराने ब्राउज़र में समर्थित नहीं है? – stackunderflow