2011-09-11 19 views
28

यदि मेरे पास कुछ पाठ के साथ <div> जैसे HTML तत्व हैं या अन्य तत्व मैं इस div से पहले या बाद में कुछ टेक्स्ट डेटा को HTML तत्व के बिना जोड़ सकता हूं, तो केवल सादा पाठ?एचटीएमएल तत्व से पहले या बाद में पाठ जोड़ें

मैं केवल शुद्ध जावास्क्रिप्ट का उपयोग करना चाहता हूं।

कुछ की तरह:

<div id="parentDiv"> 
    my text must be added here 
    <div id="childDiv"></div> 
</div> 

उत्तर

43

हाँ, आप तो फिर तुम यह एक तत्व की तरह सम्मिलित कर सकते हैं, appendChild या insertBefore साथ document.createTextNode('the text')

के साथ एक पाठ नोड बना सकते हैं।

उदाहरण है कि #childDiv से पहले एक पाठ सम्मिलित: बस रिकार्ड के लिए

<script type="text/javascript"> 
    var parent = document.getElementById('parentDiv'); 
    var sibling = document.getElementById('childDiv'); 
    var text = document.createTextNode('new text'); 
    parent.insertBefore(text, sibling); 
</script> 
+8

आप "insertAdjacentText" या "insertAdjacentHTML" विधियों को भी आजमा सकते हैं: https://developer.mozilla.org/en-US/docs/Web/API/Element.insertAdjacentHTML –

1

आप पाठ नोड जोड़ सकते हैं। नोड बनाएं - document.createTextNode('text') और फिर डालें/संलग्न/प्रतिस्थापित करें - जो भी आप चाहते हैं।

1

कुछ इस तरह यह करना चाहिए

div.insertAdjacentHTML('beforeBegin', yourText); 

जहां div है आपके बाल-DIV।

लाइव डेमो:http://jsfiddle.net/ZkzDk/

26

:

var text = document.createTextNode('the text'); 
var child = document.getElementById('childDiv'); 
child.parentNode.insertBefore(text, child); 
+0

आप इसे बाद में भी जोड़ सकते हैं ... div.insertAdjacentHTML ('afterEnd', 'मेरा टेक्स्ट बाद में जोड़ा गया'); क्या किसी को पता है कि क्या आप इसे हटा सकते हैं? (कक्षा या आईडी का उपयोग किए बिना) – tkerwood

+0

@ टकरवुड निश्चित। आपको उस * टेक्स्ट * नोड का संदर्भ पुनर्प्राप्त करने की आवश्यकता है और फिर '.removeChild()' विधि (इसके माता-पिता पर) का उपयोग करें। –

1

विषय के संबंध और उन में डालने के लिए सवाल से पहले या के बाद, यहाँ के बाद एक उदाहरण है:

var text = document.createTextNode("my text must be added here."); 
    var childTag = document.getElementById("childDiv"); 

    childTag.parentNode.insertBefore(text, childTag.nextSibling); 

childTag नहीं खाता है तो कोई भाई बहन है, यह ठीक है क्योंकि सम्मिलित करने से पहले विधि इस मामले को संभालती है और इसे अंतिम बच्चे के रूप में जोड़ती है।

टेक्स्ट नोड बनाने के बाद भी appendChild() विधि का उपयोग कर सकते हैं तो अपने बच्चे को पैरेंट नोड के माध्यम से जोड़ें।

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