2012-07-05 13 views
5

के लिए धारक div बारे में मैं निम्नलिखित संरचना है:जावास्क्रिप्ट पेरेंट तत्व हो और भाई बहन

<div class="parent"> 
    <div id="child1">Content here</div> 
    <div class="child2">Content here</div> 
</div> 

ऑनलोड में, मैं एक "धारक" div शामिल करना चाहते हैं, कि इतने की तरह सभी माता पिता के बच्चों रखती है:

<div class="parent"> 
    <div id="holder"> 
    <div id="child1">Content here</div> 
    <div class="child2">Content here</div> 
    </div> 
</div> 

केवल "child1" आईडी को जानना, मैं अपने और भाई बहनों के आस-पास एक धारक div कैसे जोड़ सकता हूं?

विचार

  • "child1" आईडी केवल ज्ञात पहचानकर्ता है।
  • कक्षा "अभिभावक" और "बच्चा 2" गतिशील नाम हैं और बदल जाएंगे, इसलिए पहचानकर्ताओं के रूप में उपयोग नहीं किया जा सकता है।
  • वेनिला जावास्क्रिप्ट होने की आवश्यकता है।

विचार?

+0

अपने प्रश्न मूल रूप से एक jQuery टैग किया है और नहीं कहते हैं कि "वेनिला जावास्क्रिप्ट"? बस सोच रहा है कि आपको इतने सारे jQuery उत्तर मिल गए हैं (मुझे शामिल किया गया है) और मुझे यकीन है कि मैंने उत्तर दिया जब मैंने कहीं उत्तर दिया jQuery! –

+2

क्षमा करें जेम्स, मैंने JQuery का जिक्र नहीं किया। (मेरी पोस्ट तब से संपादित नहीं की गई है) –

उत्तर

18

इस रूप में देखकर जावास्क्रिप्ट (और नहीं jQuery) हो गया है और आप केवल आईडी द्वारा child1 आप इस रूप में कच्चे तेल के रूप में कुछ कर सकते हैं indentify कर सकते हैं:

var child1 = document.getElementById("child1"), 
    parent = child1.parentNode, 
    contents = parent.innerHTML ; 
    parent.innerHTML = '<div id="holder">' + contents + '</div>'; 

आशा इस मदद करता है ...

+3

+1 "केवल वेनिला जावास्क्रिप्ट होने की आवश्यकता है" नोटिस करने के लिए एकमात्र ऐसा है! मुझे यकीन है कि उस बिंदु पर तब नहीं था जब सवाल पहले पूछा गया था ... –

+0

किसने किसी को हटा दिया है :( –

+0

हां, .innerHTML कच्चा है। –

1

वह कोई jQuery कहा, यह एक होमवर्क असाइनमेंट की तरह लगता है, लेकिन:

var el = document.getElementById('child1'); 
var parent = el.parentNode; 
parent.innerHTML = '<div id="holder">' + parent.innerHTML + '</div>';