2010-05-10 18 views
8

मैं इस तरह एक तत्व बनाया है:प्रोटोटाइप का उपयोग करके 'बॉडी' में तत्व कैसे जोड़ें?

var myDiv = new Element('div'); 
myDiv.update('Hello!'); 

मैं शरीर के लिए myDiv जोड़ना चाहते हैं।

मैं

$('body').insert(myDiv); 

की कोशिश की लेकिन यह काम नहीं कर रहा। मैं भी

$('body')[0].insert(myDiv); 

की कोशिश की यह सोच कर कि $('body') एक सरणी लौट रहा था। यहां तक ​​कि काम नहीं किया।

मैं myDiv शरीर में कैसे जोड़ सकता हूं?

धन्यवाद।

उत्तर

7

$ document.getElementById() के लिए एक शॉर्टेंड है, $$ अधिक बहुमुखी प्रोटोटाइप फ़ंक्शन है। अपने दस्तावेज़ में (प्रथम) शरीर तत्व पहुंचने के लिए, का उपयोग करें:

$$('body')[0].insert(myDiv); 
+0

यह काम किया: हालांकि फ़ायरफ़ॉक्स किसी भी तरह) वैसे भी डालने (निष्पादित करने के लिए सक्षम होने के लिए :)

अधिक जानकारी के लिए

लगता है। धन्यवाद। चूंकि प्रलेखन ने '$$ (cssRule ...) -> [HTMLElement ...]', मैंने सोचा था कि मैं केवल $$ का उपयोग करते समय सीएसएस क्लास नाम दे सकता हूं और टैग नाम नहीं! मुझे बेवकूफ लगता है: डी – Senthil

+6

'$$ ('body') [0]' "काम करता है", लेकिन अक्षम और अनावश्यक है। इसके बजाय, पेक्का के सुझाव के रूप में '$ (document.body) 'का उपयोग करें। – npup

+0

इसे पूरा करने के लिए: '$ (document.body) .insert (myStuff); – Sliq

15

कैसे

के बारे में
$(document.body).insert(myDiv); 

?

अलग jQuery से, प्रोटोटाइप में, $('body')आईडीbody साथ तत्व को हासिल करेगा।

+0

हाय, $ (body) .insert (myDiv) जाने का तरीका काम नहीं करता है। क्या मैं कुछ भुल गया? – Senthil

+0

@ सेंथिल माफ़ी - यह 'document.body' होना चाहिए था। वैसे भी, '$$' ठीक काम करने लगता है, इसलिए मुझे लगता है कि यह क्रमबद्ध है। –

1

काम करता है के रूप में पेका कहा, आपको पहले प्रोटोटाइप के डोम एक्सटेंशन के साथ document.body का विस्तार करने के प्रोटोटाइप के डालने() विधि का उपयोग करने में सक्षम होने की जरूरत है। http://www.prototypejs.org/learn/extensions

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